@wix/web5-core 1.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/cjs/client/clientBundleOverride.js +48 -0
- package/dist/cjs/client/clientBundleOverride.js.map +1 -0
- package/dist/cjs/client/devEnvironment.js +4 -0
- package/dist/cjs/client/devEnvironment.js.map +1 -0
- package/dist/cjs/client/loadClientBundle.js +85 -0
- package/dist/cjs/client/loadClientBundle.js.map +1 -0
- package/dist/cjs/client/wixAuthFetch.js +73 -0
- package/dist/cjs/client/wixAuthFetch.js.map +1 -0
- package/dist/cjs/clients.js +15 -0
- package/dist/cjs/clients.js.map +1 -0
- package/dist/cjs/color/colorUtils.js +126 -0
- package/dist/cjs/color/colorUtils.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/CalloutSectionDefinition.js +67 -0
- package/dist/cjs/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js +141 -0
- package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/CtaBannerSectionDefinition.js +85 -0
- package/dist/cjs/component/componentDefinitions/CtaBannerSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/EntitySectionDefinition.js +171 -0
- package/dist/cjs/component/componentDefinitions/EntitySectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/ErrorSectionDefinition.js +81 -0
- package/dist/cjs/component/componentDefinitions/ErrorSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/FallbackSectionDefinition.js +29 -0
- package/dist/cjs/component/componentDefinitions/FallbackSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/FeatureCardsSectionDefinition.js +119 -0
- package/dist/cjs/component/componentDefinitions/FeatureCardsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js +75 -0
- package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js +124 -0
- package/dist/cjs/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js +209 -0
- package/dist/cjs/component/componentDefinitions/HeroSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/HtmlCommentSectionDefinition.js +19 -0
- package/dist/cjs/component/componentDefinitions/HtmlCommentSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/KpiSectionDefinition.js +114 -0
- package/dist/cjs/component/componentDefinitions/KpiSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js +136 -0
- package/dist/cjs/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/SearchSectionDefinition.js +18 -0
- package/dist/cjs/component/componentDefinitions/SearchSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/SkipNodesSectionDefinition.js +20 -0
- package/dist/cjs/component/componentDefinitions/SkipNodesSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js +65 -0
- package/dist/cjs/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/index.js +48 -0
- package/dist/cjs/component/componentDefinitions/index.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js +86 -0
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/parse-utils.js +434 -0
- package/dist/cjs/component/componentDefinitions/parse-utils.js.map +1 -0
- package/dist/cjs/component/componentDefinitions/specHelpers.js +36 -0
- package/dist/cjs/component/componentDefinitions/specHelpers.js.map +1 -0
- package/dist/cjs/component/componentParser.js +365 -0
- package/dist/cjs/component/componentParser.js.map +1 -0
- package/dist/cjs/component/diagnosticTypes.js +30 -0
- package/dist/cjs/component/diagnosticTypes.js.map +1 -0
- package/dist/cjs/component/parser-types.js +4 -0
- package/dist/cjs/component/parser-types.js.map +1 -0
- package/dist/cjs/component/section-definition.js +4 -0
- package/dist/cjs/component/section-definition.js.map +1 -0
- package/dist/cjs/component/types.js +4 -0
- package/dist/cjs/component/types.js.map +1 -0
- package/dist/cjs/components/placement/PlacementPayloadContext.js +29 -0
- package/dist/cjs/components/placement/PlacementPayloadContext.js.map +1 -0
- package/dist/cjs/components/placement/PlacementResponseRenderer.css +269 -0
- package/dist/cjs/components/placement/PlacementResponseRenderer.js +259 -0
- package/dist/cjs/components/placement/PlacementResponseRenderer.js.map +1 -0
- package/dist/cjs/components/placement/buildPlacementDependencies.js +214 -0
- package/dist/cjs/components/placement/buildPlacementDependencies.js.map +1 -0
- package/dist/cjs/components/ui/BottomContainer.js +26 -0
- package/dist/cjs/components/ui/BottomContainer.js.map +1 -0
- package/dist/cjs/components/ui/CalloutBlock.js +156 -0
- package/dist/cjs/components/ui/CalloutBlock.js.map +1 -0
- package/dist/cjs/components/ui/Disclaimer.css +35 -0
- package/dist/cjs/components/ui/Disclaimer.js +56 -0
- package/dist/cjs/components/ui/Disclaimer.js.map +1 -0
- package/dist/cjs/components/ui/FeedbackBar.css +267 -0
- package/dist/cjs/components/ui/FeedbackBar.js +417 -0
- package/dist/cjs/components/ui/FeedbackBar.js.map +1 -0
- package/dist/cjs/components/ui/Loader.js +73 -0
- package/dist/cjs/components/ui/Loader.js.map +1 -0
- package/dist/cjs/components/ui/MarkdownText.js +419 -0
- package/dist/cjs/components/ui/MarkdownText.js.map +1 -0
- package/dist/cjs/components/ui/OptimizedImage.js +414 -0
- package/dist/cjs/components/ui/OptimizedImage.js.map +1 -0
- package/dist/cjs/components/ui/PlacementLoader.css +101 -0
- package/dist/cjs/components/ui/PlacementLoader.js +62 -0
- package/dist/cjs/components/ui/PlacementLoader.js.map +1 -0
- package/dist/cjs/components/ui/PromptEntryEmptyState.css +172 -0
- package/dist/cjs/components/ui/PromptEntryEmptyState.js +96 -0
- package/dist/cjs/components/ui/PromptEntryEmptyState.js.map +1 -0
- package/dist/cjs/components/ui/SearchSection.css +538 -0
- package/dist/cjs/components/ui/SearchSection.js +550 -0
- package/dist/cjs/components/ui/SearchSection.js.map +1 -0
- package/dist/cjs/components/ui/SectionSkeleton.css +109 -0
- package/dist/cjs/components/ui/SectionSkeleton.js +190 -0
- package/dist/cjs/components/ui/SectionSkeleton.js.map +1 -0
- package/dist/cjs/components/ui/SmartIcon.js +122 -0
- package/dist/cjs/components/ui/SmartIcon.js.map +1 -0
- package/dist/cjs/components/ui/UnifiedLink.js +169 -0
- package/dist/cjs/components/ui/UnifiedLink.js.map +1 -0
- package/dist/cjs/components/ui/UserQuery.js +348 -0
- package/dist/cjs/components/ui/UserQuery.js.map +1 -0
- package/dist/cjs/components/ui/icons/ArrowTopRightIcon.js +37 -0
- package/dist/cjs/components/ui/icons/ArrowTopRightIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/ArrowUpIcon.js +61 -0
- package/dist/cjs/components/ui/icons/ArrowUpIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/CheckIcon.js +37 -0
- package/dist/cjs/components/ui/icons/CheckIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/CommentIcon.js +34 -0
- package/dist/cjs/components/ui/icons/CommentIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/PlusIcon.js +51 -0
- package/dist/cjs/components/ui/icons/PlusIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/RedoIcon.js +51 -0
- package/dist/cjs/components/ui/icons/RedoIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/ShareIcon.js +81 -0
- package/dist/cjs/components/ui/icons/ShareIcon.js.map +1 -0
- package/dist/cjs/components/ui/icons/UndoIcon.js +51 -0
- package/dist/cjs/components/ui/icons/UndoIcon.js.map +1 -0
- package/dist/cjs/components/ui/table.js +159 -0
- package/dist/cjs/components/ui/table.js.map +1 -0
- package/dist/cjs/context/ChipsContext.js +12 -0
- package/dist/cjs/context/ChipsContext.js.map +1 -0
- package/dist/cjs/context/ComponentDependenciesContext.js +32 -0
- package/dist/cjs/context/ComponentDependenciesContext.js.map +1 -0
- package/dist/cjs/entity/defaultExtractor.js +117 -0
- package/dist/cjs/entity/defaultExtractor.js.map +1 -0
- package/dist/cjs/entity/enrichEntitiesFromPayload.js +39 -0
- package/dist/cjs/entity/enrichEntitiesFromPayload.js.map +1 -0
- package/dist/cjs/entity/fetchEntityListData.js +78 -0
- package/dist/cjs/entity/fetchEntityListData.js.map +1 -0
- package/dist/cjs/entity/index.js +41 -0
- package/dist/cjs/entity/index.js.map +1 -0
- package/dist/cjs/entity/types.js +4 -0
- package/dist/cjs/entity/types.js.map +1 -0
- package/dist/cjs/errors/conversationErrorTypes.js +56 -0
- package/dist/cjs/errors/conversationErrorTypes.js.map +1 -0
- package/dist/cjs/errors/errorTemplates.js +86 -0
- package/dist/cjs/errors/errorTemplates.js.map +1 -0
- package/dist/cjs/errors/index.js +13 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/external-types.d.js +2 -0
- package/dist/cjs/external-types.d.js.map +1 -0
- package/dist/cjs/featureToggles/FeatureToggleContext.js +44 -0
- package/dist/cjs/featureToggles/FeatureToggleContext.js.map +1 -0
- package/dist/cjs/hooks/useConversation.js +10 -0
- package/dist/cjs/hooks/useConversation.js.map +1 -0
- package/dist/cjs/hooks/useDebugImageContext.js +10 -0
- package/dist/cjs/hooks/useDebugImageContext.js.map +1 -0
- package/dist/cjs/hooks/useEntityTransforms.js +10 -0
- package/dist/cjs/hooks/useEntityTransforms.js.map +1 -0
- package/dist/cjs/hooks/useMarkdownUtils.js +10 -0
- package/dist/cjs/hooks/useMarkdownUtils.js.map +1 -0
- package/dist/cjs/hooks/useResolveGenericEntityData.js +10 -0
- package/dist/cjs/hooks/useResolveGenericEntityData.js.map +1 -0
- package/dist/cjs/hooks/useResolveSearchSpringEntityData.js +146 -0
- package/dist/cjs/hooks/useResolveSearchSpringEntityData.js.map +1 -0
- package/dist/cjs/hooks/useResolveShopifyEntityData.js +190 -0
- package/dist/cjs/hooks/useResolveShopifyEntityData.js.map +1 -0
- package/dist/cjs/hooks/useResolvedImageSources.js +160 -0
- package/dist/cjs/hooks/useResolvedImageSources.js.map +1 -0
- package/dist/cjs/hooks/useWeb5Link.js +10 -0
- package/dist/cjs/hooks/useWeb5Link.js.map +1 -0
- package/dist/cjs/image/contextualImageTypes.js +4 -0
- package/dist/cjs/image/contextualImageTypes.js.map +1 -0
- package/dist/cjs/image/imageSearchFilterTypes.js +19 -0
- package/dist/cjs/image/imageSearchFilterTypes.js.map +1 -0
- package/dist/cjs/image/imageSearchFilters.js +22 -0
- package/dist/cjs/image/imageSearchFilters.js.map +1 -0
- package/dist/cjs/index.js +285 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/utils.js +33 -0
- package/dist/cjs/lib/utils.js.map +1 -0
- package/dist/cjs/markdownBlocks.js +645 -0
- package/dist/cjs/markdownBlocks.js.map +1 -0
- package/dist/cjs/match/astToParts.js +374 -0
- package/dist/cjs/match/astToParts.js.map +1 -0
- package/dist/cjs/match/extractProps.js +654 -0
- package/dist/cjs/match/extractProps.js.map +1 -0
- package/dist/cjs/match/index.js +11 -0
- package/dist/cjs/match/index.js.map +1 -0
- package/dist/cjs/match/matchAllSections.js +34 -0
- package/dist/cjs/match/matchAllSections.js.map +1 -0
- package/dist/cjs/match/matchMarkdown.js +39 -0
- package/dist/cjs/match/matchMarkdown.js.map +1 -0
- package/dist/cjs/parts/parts.js +183 -0
- package/dist/cjs/parts/parts.js.map +1 -0
- package/dist/cjs/patternAnalyzer/conflictDetector.js +103 -0
- package/dist/cjs/patternAnalyzer/conflictDetector.js.map +1 -0
- package/dist/cjs/patternAnalyzer/index.js +40 -0
- package/dist/cjs/patternAnalyzer/index.js.map +1 -0
- package/dist/cjs/patternAnalyzer/markdownGenerator.js +347 -0
- package/dist/cjs/patternAnalyzer/markdownGenerator.js.map +1 -0
- package/dist/cjs/patternAnalyzer/mergeDetector.js +505 -0
- package/dist/cjs/patternAnalyzer/mergeDetector.js.map +1 -0
- package/dist/cjs/patternAnalyzer/parserValidator.js +56 -0
- package/dist/cjs/patternAnalyzer/parserValidator.js.map +1 -0
- package/dist/cjs/patternAnalyzer/patternWriter.js +106 -0
- package/dist/cjs/patternAnalyzer/patternWriter.js.map +1 -0
- package/dist/cjs/patternAnalyzer/run.js +140 -0
- package/dist/cjs/patternAnalyzer/run.js.map +1 -0
- package/dist/cjs/patternAnalyzer/types.js +4 -0
- package/dist/cjs/patternAnalyzer/types.js.map +1 -0
- package/dist/cjs/patternValidator/ERROR_MESSAGES.md +110 -0
- package/dist/cjs/patternValidator/README.md +757 -0
- package/dist/cjs/patternValidator/automaton.js +349 -0
- package/dist/cjs/patternValidator/automaton.js.map +1 -0
- package/dist/cjs/patternValidator/index.js +196 -0
- package/dist/cjs/patternValidator/index.js.map +1 -0
- package/dist/cjs/patternValidator/lexer.js +218 -0
- package/dist/cjs/patternValidator/lexer.js.map +1 -0
- package/dist/cjs/patternValidator/matcher.js +722 -0
- package/dist/cjs/patternValidator/matcher.js.map +1 -0
- package/dist/cjs/patternValidator/parser.js +533 -0
- package/dist/cjs/patternValidator/parser.js.map +1 -0
- package/dist/cjs/patternValidator/types.js +4 -0
- package/dist/cjs/patternValidator/types.js.map +1 -0
- package/dist/cjs/patternValidator/validator.test.js +1277 -0
- package/dist/cjs/patternValidator/validator.test.js.map +1 -0
- package/dist/cjs/registry/ComponentRegistry.js +438 -0
- package/dist/cjs/registry/ComponentRegistry.js.map +1 -0
- package/dist/cjs/registry/Intent.js +19 -0
- package/dist/cjs/registry/Intent.js.map +1 -0
- package/dist/cjs/registry/index.js +9 -0
- package/dist/cjs/registry/index.js.map +1 -0
- package/dist/cjs/registry/types.js +4 -0
- package/dist/cjs/registry/types.js.map +1 -0
- package/dist/cjs/services/cart/addToCart.js +147 -0
- package/dist/cjs/services/cart/addToCart.js.map +1 -0
- package/dist/cjs/services/cart/index.js +7 -0
- package/dist/cjs/services/cart/index.js.map +1 -0
- package/dist/cjs/services/searchspring/index.js +10 -0
- package/dist/cjs/services/searchspring/index.js.map +1 -0
- package/dist/cjs/services/searchspring/searchSpringClient.js +49 -0
- package/dist/cjs/services/searchspring/searchSpringClient.js.map +1 -0
- package/dist/cjs/services/searchspring/transformSSProduct.js +70 -0
- package/dist/cjs/services/searchspring/transformSSProduct.js.map +1 -0
- package/dist/cjs/services/searchspring/types.js +4 -0
- package/dist/cjs/services/searchspring/types.js.map +1 -0
- package/dist/cjs/services/shopify/globals.d.js +4 -0
- package/dist/cjs/services/shopify/globals.d.js.map +1 -0
- package/dist/cjs/services/shopify/index.js +22 -0
- package/dist/cjs/services/shopify/index.js.map +1 -0
- package/dist/cjs/services/shopify/queries.js +214 -0
- package/dist/cjs/services/shopify/queries.js.map +1 -0
- package/dist/cjs/services/shopify/resolveStoreDomain.js +28 -0
- package/dist/cjs/services/shopify/resolveStoreDomain.js.map +1 -0
- package/dist/cjs/services/shopify/shopifyEntityResolver.js +109 -0
- package/dist/cjs/services/shopify/shopifyEntityResolver.js.map +1 -0
- package/dist/cjs/services/shopify/shopifyStorefrontClient.js +58 -0
- package/dist/cjs/services/shopify/shopifyStorefrontClient.js.map +1 -0
- package/dist/cjs/services/shopify/transformShopifyEntity.js +137 -0
- package/dist/cjs/services/shopify/transformShopifyEntity.js.map +1 -0
- package/dist/cjs/services/shopify/types.js +4 -0
- package/dist/cjs/services/shopify/types.js.map +1 -0
- package/dist/cjs/styles/base-tokens.css +152 -0
- package/dist/cjs/styles/base-utilities.css +424 -0
- package/dist/cjs/styles/components.css +6 -0
- package/dist/cjs/styles/prompt-input-tokens.css +136 -0
- package/dist/cjs/styles/tailwind-theme.css +138 -0
- package/dist/cjs/test-types.d.js +2 -0
- package/dist/cjs/test-types.d.js.map +1 -0
- package/dist/cjs/testUtils.js +25 -0
- package/dist/cjs/testUtils.js.map +1 -0
- package/dist/cjs/types/answerUpdatedEvent.js +20 -0
- package/dist/cjs/types/answerUpdatedEvent.js.map +1 -0
- package/dist/cjs/types/blog.js +4 -0
- package/dist/cjs/types/blog.js.map +1 -0
- package/dist/cjs/types/callout.js +6 -0
- package/dist/cjs/types/callout.js.map +1 -0
- package/dist/cjs/types/dependencies.js +4 -0
- package/dist/cjs/types/dependencies.js.map +1 -0
- package/dist/cjs/types/entity.js +4 -0
- package/dist/cjs/types/entity.js.map +1 -0
- package/dist/cjs/types/link-types.js +62 -0
- package/dist/cjs/types/link-types.js.map +1 -0
- package/dist/cjs/types/page-section.js +4 -0
- package/dist/cjs/types/page-section.js.map +1 -0
- package/dist/cjs/types/placement.js +4 -0
- package/dist/cjs/types/placement.js.map +1 -0
- package/dist/cjs/types/redirectEvent.js +27 -0
- package/dist/cjs/types/redirectEvent.js.map +1 -0
- package/dist/cjs/types/userQueryEvent.js +19 -0
- package/dist/cjs/types/userQueryEvent.js.map +1 -0
- package/dist/cjs/utils/analyticsEvents.js +91 -0
- package/dist/cjs/utils/analyticsEvents.js.map +1 -0
- package/dist/cjs/utils/componentTracking.js +90 -0
- package/dist/cjs/utils/componentTracking.js.map +1 -0
- package/dist/cjs/utils/contentKeywordMatcher.js +56 -0
- package/dist/cjs/utils/contentKeywordMatcher.js.map +1 -0
- package/dist/cjs/utils/conversationApi.js +52 -0
- package/dist/cjs/utils/conversationApi.js.map +1 -0
- package/dist/cjs/utils/conversationMode.js +23 -0
- package/dist/cjs/utils/conversationMode.js.map +1 -0
- package/dist/cjs/utils/diagnosticsCollector.js +58 -0
- package/dist/cjs/utils/diagnosticsCollector.js.map +1 -0
- package/dist/cjs/utils/entityLinkParser.js +256 -0
- package/dist/cjs/utils/entityLinkParser.js.map +1 -0
- package/dist/cjs/utils/htmlCommentParser.js +122 -0
- package/dist/cjs/utils/htmlCommentParser.js.map +1 -0
- package/dist/cjs/utils/image-utils.js +49 -0
- package/dist/cjs/utils/image-utils.js.map +1 -0
- package/dist/cjs/utils/intentExtractor.js +47 -0
- package/dist/cjs/utils/intentExtractor.js.map +1 -0
- package/dist/cjs/utils/markdownPreprocessor.js +268 -0
- package/dist/cjs/utils/markdownPreprocessor.js.map +1 -0
- package/dist/cjs/utils/navigationStack.js +35 -0
- package/dist/cjs/utils/navigationStack.js.map +1 -0
- package/dist/cjs/utils/nodeMatchers.js +43 -0
- package/dist/cjs/utils/nodeMatchers.js.map +1 -0
- package/dist/cjs/utils/propsExtractor.js +66 -0
- package/dist/cjs/utils/propsExtractor.js.map +1 -0
- package/dist/cjs/utils/sessionManager.js +161 -0
- package/dist/cjs/utils/sessionManager.js.map +1 -0
- package/dist/cjs/utils/unifiedMarkdownParser.js +44 -0
- package/dist/cjs/utils/unifiedMarkdownParser.js.map +1 -0
- package/dist/cjs/utils/web5LinkValidator.js +56 -0
- package/dist/cjs/utils/web5LinkValidator.js.map +1 -0
- package/dist/cjs/utils/web5LinkValidator.test.js +115 -0
- package/dist/cjs/utils/web5LinkValidator.test.js.map +1 -0
- package/dist/esm/client/clientBundleOverride.js +43 -0
- package/dist/esm/client/clientBundleOverride.js.map +1 -0
- package/dist/esm/client/devEnvironment.js +2 -0
- package/dist/esm/client/devEnvironment.js.map +1 -0
- package/dist/esm/client/loadClientBundle.js +82 -0
- package/dist/esm/client/loadClientBundle.js.map +1 -0
- package/dist/esm/client/wixAuthFetch.js +68 -0
- package/dist/esm/client/wixAuthFetch.js.map +1 -0
- package/dist/esm/clients.js +11 -0
- package/dist/esm/clients.js.map +1 -0
- package/dist/esm/color/colorUtils.js +118 -0
- package/dist/esm/color/colorUtils.js.map +1 -0
- package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js +61 -0
- package/dist/esm/component/componentDefinitions/CalloutSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js +135 -0
- package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/CtaBannerSectionDefinition.js +79 -0
- package/dist/esm/component/componentDefinitions/CtaBannerSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/EntitySectionDefinition.js +165 -0
- package/dist/esm/component/componentDefinitions/EntitySectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/ErrorSectionDefinition.js +75 -0
- package/dist/esm/component/componentDefinitions/ErrorSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/FallbackSectionDefinition.js +23 -0
- package/dist/esm/component/componentDefinitions/FallbackSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/FeatureCardsSectionDefinition.js +113 -0
- package/dist/esm/component/componentDefinitions/FeatureCardsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js +69 -0
- package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js +119 -0
- package/dist/esm/component/componentDefinitions/HeroEntitySectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js +203 -0
- package/dist/esm/component/componentDefinitions/HeroSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/HtmlCommentSectionDefinition.js +13 -0
- package/dist/esm/component/componentDefinitions/HtmlCommentSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/KpiSectionDefinition.js +108 -0
- package/dist/esm/component/componentDefinitions/KpiSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js +130 -0
- package/dist/esm/component/componentDefinitions/NextStepsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/SearchSectionDefinition.js +12 -0
- package/dist/esm/component/componentDefinitions/SearchSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/SkipNodesSectionDefinition.js +14 -0
- package/dist/esm/component/componentDefinitions/SkipNodesSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js +59 -0
- package/dist/esm/component/componentDefinitions/TextBlockSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/index.js +45 -0
- package/dist/esm/component/componentDefinitions/index.js.map +1 -0
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js +80 -0
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -0
- package/dist/esm/component/componentDefinitions/parse-utils.js +412 -0
- package/dist/esm/component/componentDefinitions/parse-utils.js.map +1 -0
- package/dist/esm/component/componentDefinitions/specHelpers.js +31 -0
- package/dist/esm/component/componentDefinitions/specHelpers.js.map +1 -0
- package/dist/esm/component/componentParser.js +358 -0
- package/dist/esm/component/componentParser.js.map +1 -0
- package/dist/esm/component/diagnosticTypes.js +26 -0
- package/dist/esm/component/diagnosticTypes.js.map +1 -0
- package/dist/esm/component/parser-types.js +2 -0
- package/dist/esm/component/parser-types.js.map +1 -0
- package/dist/esm/component/section-definition.js +2 -0
- package/dist/esm/component/section-definition.js.map +1 -0
- package/dist/esm/component/types.js +2 -0
- package/dist/esm/component/types.js.map +1 -0
- package/dist/esm/components/placement/PlacementPayloadContext.js +24 -0
- package/dist/esm/components/placement/PlacementPayloadContext.js.map +1 -0
- package/dist/esm/components/placement/PlacementResponseRenderer.css +269 -0
- package/dist/esm/components/placement/PlacementResponseRenderer.js +173 -0
- package/dist/esm/components/placement/PlacementResponseRenderer.js.map +1 -0
- package/dist/esm/components/placement/buildPlacementDependencies.js +212 -0
- package/dist/esm/components/placement/buildPlacementDependencies.js.map +1 -0
- package/dist/esm/components/ui/BottomContainer.js +14 -0
- package/dist/esm/components/ui/BottomContainer.js.map +1 -0
- package/dist/esm/components/ui/CalloutBlock.js +118 -0
- package/dist/esm/components/ui/CalloutBlock.js.map +1 -0
- package/dist/esm/components/ui/Disclaimer.css +35 -0
- package/dist/esm/components/ui/Disclaimer.js +32 -0
- package/dist/esm/components/ui/Disclaimer.js.map +1 -0
- package/dist/esm/components/ui/FeedbackBar.css +267 -0
- package/dist/esm/components/ui/FeedbackBar.js +221 -0
- package/dist/esm/components/ui/FeedbackBar.js.map +1 -0
- package/dist/esm/components/ui/Loader.js +43 -0
- package/dist/esm/components/ui/Loader.js.map +1 -0
- package/dist/esm/components/ui/MarkdownText.js +283 -0
- package/dist/esm/components/ui/MarkdownText.js.map +1 -0
- package/dist/esm/components/ui/OptimizedImage.js +354 -0
- package/dist/esm/components/ui/OptimizedImage.js.map +1 -0
- package/dist/esm/components/ui/PlacementLoader.css +101 -0
- package/dist/esm/components/ui/PlacementLoader.js +28 -0
- package/dist/esm/components/ui/PlacementLoader.js.map +1 -0
- package/dist/esm/components/ui/PromptEntryEmptyState.css +172 -0
- package/dist/esm/components/ui/PromptEntryEmptyState.js +36 -0
- package/dist/esm/components/ui/PromptEntryEmptyState.js.map +1 -0
- package/dist/esm/components/ui/SearchSection.css +538 -0
- package/dist/esm/components/ui/SearchSection.js +317 -0
- package/dist/esm/components/ui/SearchSection.js.map +1 -0
- package/dist/esm/components/ui/SectionSkeleton.css +109 -0
- package/dist/esm/components/ui/SectionSkeleton.js +100 -0
- package/dist/esm/components/ui/SectionSkeleton.js.map +1 -0
- package/dist/esm/components/ui/SmartIcon.js +91 -0
- package/dist/esm/components/ui/SmartIcon.js.map +1 -0
- package/dist/esm/components/ui/UnifiedLink.js +105 -0
- package/dist/esm/components/ui/UnifiedLink.js.map +1 -0
- package/dist/esm/components/ui/UserQuery.js +167 -0
- package/dist/esm/components/ui/UserQuery.js.map +1 -0
- package/dist/esm/components/ui/icons/ArrowTopRightIcon.js +17 -0
- package/dist/esm/components/ui/icons/ArrowTopRightIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/ArrowUpIcon.js +29 -0
- package/dist/esm/components/ui/icons/ArrowUpIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/CheckIcon.js +17 -0
- package/dist/esm/components/ui/icons/CheckIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/CommentIcon.js +15 -0
- package/dist/esm/components/ui/icons/CommentIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/PlusIcon.js +25 -0
- package/dist/esm/components/ui/icons/PlusIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/RedoIcon.js +25 -0
- package/dist/esm/components/ui/icons/RedoIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/ShareIcon.js +37 -0
- package/dist/esm/components/ui/icons/ShareIcon.js.map +1 -0
- package/dist/esm/components/ui/icons/UndoIcon.js +25 -0
- package/dist/esm/components/ui/icons/UndoIcon.js.map +1 -0
- package/dist/esm/components/ui/table.js +92 -0
- package/dist/esm/components/ui/table.js.map +1 -0
- package/dist/esm/context/ChipsContext.js +7 -0
- package/dist/esm/context/ChipsContext.js.map +1 -0
- package/dist/esm/context/ComponentDependenciesContext.js +19 -0
- package/dist/esm/context/ComponentDependenciesContext.js.map +1 -0
- package/dist/esm/entity/defaultExtractor.js +111 -0
- package/dist/esm/entity/defaultExtractor.js.map +1 -0
- package/dist/esm/entity/enrichEntitiesFromPayload.js +35 -0
- package/dist/esm/entity/enrichEntitiesFromPayload.js.map +1 -0
- package/dist/esm/entity/fetchEntityListData.js +76 -0
- package/dist/esm/entity/fetchEntityListData.js.map +1 -0
- package/dist/esm/entity/index.js +29 -0
- package/dist/esm/entity/index.js.map +1 -0
- package/dist/esm/entity/types.js +2 -0
- package/dist/esm/entity/types.js.map +1 -0
- package/dist/esm/errors/conversationErrorTypes.js +50 -0
- package/dist/esm/errors/conversationErrorTypes.js.map +1 -0
- package/dist/esm/errors/errorTemplates.js +81 -0
- package/dist/esm/errors/errorTemplates.js.map +1 -0
- package/dist/esm/errors/index.js +3 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/external-types.d.js +2 -0
- package/dist/esm/external-types.d.js.map +1 -0
- package/dist/esm/featureToggles/FeatureToggleContext.js +30 -0
- package/dist/esm/featureToggles/FeatureToggleContext.js.map +1 -0
- package/dist/esm/hooks/useConversation.js +6 -0
- package/dist/esm/hooks/useConversation.js.map +1 -0
- package/dist/esm/hooks/useDebugImageContext.js +6 -0
- package/dist/esm/hooks/useDebugImageContext.js.map +1 -0
- package/dist/esm/hooks/useEntityTransforms.js +6 -0
- package/dist/esm/hooks/useEntityTransforms.js.map +1 -0
- package/dist/esm/hooks/useMarkdownUtils.js +6 -0
- package/dist/esm/hooks/useMarkdownUtils.js.map +1 -0
- package/dist/esm/hooks/useResolveGenericEntityData.js +6 -0
- package/dist/esm/hooks/useResolveGenericEntityData.js.map +1 -0
- package/dist/esm/hooks/useResolveSearchSpringEntityData.js +146 -0
- package/dist/esm/hooks/useResolveSearchSpringEntityData.js.map +1 -0
- package/dist/esm/hooks/useResolveShopifyEntityData.js +191 -0
- package/dist/esm/hooks/useResolveShopifyEntityData.js.map +1 -0
- package/dist/esm/hooks/useResolvedImageSources.js +169 -0
- package/dist/esm/hooks/useResolvedImageSources.js.map +1 -0
- package/dist/esm/hooks/useWeb5Link.js +6 -0
- package/dist/esm/hooks/useWeb5Link.js.map +1 -0
- package/dist/esm/image/contextualImageTypes.js +2 -0
- package/dist/esm/image/contextualImageTypes.js.map +1 -0
- package/dist/esm/image/imageSearchFilterTypes.js +15 -0
- package/dist/esm/image/imageSearchFilterTypes.js.map +1 -0
- package/dist/esm/image/imageSearchFilters.js +18 -0
- package/dist/esm/image/imageSearchFilters.js.map +1 -0
- package/dist/esm/index.js +152 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/utils.js +33 -0
- package/dist/esm/lib/utils.js.map +1 -0
- package/dist/esm/markdownBlocks.js +641 -0
- package/dist/esm/markdownBlocks.js.map +1 -0
- package/dist/esm/match/astToParts.js +371 -0
- package/dist/esm/match/astToParts.js.map +1 -0
- package/dist/esm/match/extractProps.js +634 -0
- package/dist/esm/match/extractProps.js.map +1 -0
- package/dist/esm/match/index.js +4 -0
- package/dist/esm/match/index.js.map +1 -0
- package/dist/esm/match/matchAllSections.js +31 -0
- package/dist/esm/match/matchAllSections.js.map +1 -0
- package/dist/esm/match/matchMarkdown.js +36 -0
- package/dist/esm/match/matchMarkdown.js.map +1 -0
- package/dist/esm/parts/parts.js +171 -0
- package/dist/esm/parts/parts.js.map +1 -0
- package/dist/esm/patternAnalyzer/conflictDetector.js +99 -0
- package/dist/esm/patternAnalyzer/conflictDetector.js.map +1 -0
- package/dist/esm/patternAnalyzer/index.js +36 -0
- package/dist/esm/patternAnalyzer/index.js.map +1 -0
- package/dist/esm/patternAnalyzer/markdownGenerator.js +344 -0
- package/dist/esm/patternAnalyzer/markdownGenerator.js.map +1 -0
- package/dist/esm/patternAnalyzer/mergeDetector.js +504 -0
- package/dist/esm/patternAnalyzer/mergeDetector.js.map +1 -0
- package/dist/esm/patternAnalyzer/parserValidator.js +52 -0
- package/dist/esm/patternAnalyzer/parserValidator.js.map +1 -0
- package/dist/esm/patternAnalyzer/patternWriter.js +102 -0
- package/dist/esm/patternAnalyzer/patternWriter.js.map +1 -0
- package/dist/esm/patternAnalyzer/run.js +138 -0
- package/dist/esm/patternAnalyzer/run.js.map +1 -0
- package/dist/esm/patternAnalyzer/types.js +2 -0
- package/dist/esm/patternAnalyzer/types.js.map +1 -0
- package/dist/esm/patternValidator/ERROR_MESSAGES.md +110 -0
- package/dist/esm/patternValidator/README.md +757 -0
- package/dist/esm/patternValidator/automaton.js +345 -0
- package/dist/esm/patternValidator/automaton.js.map +1 -0
- package/dist/esm/patternValidator/index.js +190 -0
- package/dist/esm/patternValidator/index.js.map +1 -0
- package/dist/esm/patternValidator/lexer.js +214 -0
- package/dist/esm/patternValidator/lexer.js.map +1 -0
- package/dist/esm/patternValidator/matcher.js +717 -0
- package/dist/esm/patternValidator/matcher.js.map +1 -0
- package/dist/esm/patternValidator/parser.js +531 -0
- package/dist/esm/patternValidator/parser.js.map +1 -0
- package/dist/esm/patternValidator/types.js +2 -0
- package/dist/esm/patternValidator/types.js.map +1 -0
- package/dist/esm/patternValidator/validator.test.js +1275 -0
- package/dist/esm/patternValidator/validator.test.js.map +1 -0
- package/dist/esm/registry/ComponentRegistry.js +435 -0
- package/dist/esm/registry/ComponentRegistry.js.map +1 -0
- package/dist/esm/registry/Intent.js +15 -0
- package/dist/esm/registry/Intent.js.map +1 -0
- package/dist/esm/registry/index.js +3 -0
- package/dist/esm/registry/index.js.map +1 -0
- package/dist/esm/registry/types.js +2 -0
- package/dist/esm/registry/types.js.map +1 -0
- package/dist/esm/services/cart/addToCart.js +146 -0
- package/dist/esm/services/cart/addToCart.js.map +1 -0
- package/dist/esm/services/cart/index.js +2 -0
- package/dist/esm/services/cart/index.js.map +1 -0
- package/dist/esm/services/searchspring/index.js +3 -0
- package/dist/esm/services/searchspring/index.js.map +1 -0
- package/dist/esm/services/searchspring/searchSpringClient.js +44 -0
- package/dist/esm/services/searchspring/searchSpringClient.js.map +1 -0
- package/dist/esm/services/searchspring/transformSSProduct.js +66 -0
- package/dist/esm/services/searchspring/transformSSProduct.js.map +1 -0
- package/dist/esm/services/searchspring/types.js +2 -0
- package/dist/esm/services/searchspring/types.js.map +1 -0
- package/dist/esm/services/shopify/globals.d.js +7 -0
- package/dist/esm/services/shopify/globals.d.js.map +1 -0
- package/dist/esm/services/shopify/index.js +6 -0
- package/dist/esm/services/shopify/index.js.map +1 -0
- package/dist/esm/services/shopify/queries.js +210 -0
- package/dist/esm/services/shopify/queries.js.map +1 -0
- package/dist/esm/services/shopify/resolveStoreDomain.js +25 -0
- package/dist/esm/services/shopify/resolveStoreDomain.js.map +1 -0
- package/dist/esm/services/shopify/shopifyEntityResolver.js +105 -0
- package/dist/esm/services/shopify/shopifyEntityResolver.js.map +1 -0
- package/dist/esm/services/shopify/shopifyStorefrontClient.js +52 -0
- package/dist/esm/services/shopify/shopifyStorefrontClient.js.map +1 -0
- package/dist/esm/services/shopify/transformShopifyEntity.js +130 -0
- package/dist/esm/services/shopify/transformShopifyEntity.js.map +1 -0
- package/dist/esm/services/shopify/types.js +2 -0
- package/dist/esm/services/shopify/types.js.map +1 -0
- package/dist/esm/styles/base-tokens.css +152 -0
- package/dist/esm/styles/base-utilities.css +424 -0
- package/dist/esm/styles/components.css +6 -0
- package/dist/esm/styles/prompt-input-tokens.css +136 -0
- package/dist/esm/styles/tailwind-theme.css +138 -0
- package/dist/esm/test-types.d.js +2 -0
- package/dist/esm/test-types.d.js.map +1 -0
- package/dist/esm/testUtils.js +20 -0
- package/dist/esm/testUtils.js.map +1 -0
- package/dist/esm/types/answerUpdatedEvent.js +16 -0
- package/dist/esm/types/answerUpdatedEvent.js.map +1 -0
- package/dist/esm/types/blog.js +2 -0
- package/dist/esm/types/blog.js.map +1 -0
- package/dist/esm/types/callout.js +2 -0
- package/dist/esm/types/callout.js.map +1 -0
- package/dist/esm/types/dependencies.js +2 -0
- package/dist/esm/types/dependencies.js.map +1 -0
- package/dist/esm/types/entity.js +2 -0
- package/dist/esm/types/entity.js.map +1 -0
- package/dist/esm/types/link-types.js +52 -0
- package/dist/esm/types/link-types.js.map +1 -0
- package/dist/esm/types/page-section.js +2 -0
- package/dist/esm/types/page-section.js.map +1 -0
- package/dist/esm/types/placement.js +2 -0
- package/dist/esm/types/placement.js.map +1 -0
- package/dist/esm/types/redirectEvent.js +23 -0
- package/dist/esm/types/redirectEvent.js.map +1 -0
- package/dist/esm/types/userQueryEvent.js +15 -0
- package/dist/esm/types/userQueryEvent.js.map +1 -0
- package/dist/esm/utils/analyticsEvents.js +84 -0
- package/dist/esm/utils/analyticsEvents.js.map +1 -0
- package/dist/esm/utils/componentTracking.js +84 -0
- package/dist/esm/utils/componentTracking.js.map +1 -0
- package/dist/esm/utils/contentKeywordMatcher.js +50 -0
- package/dist/esm/utils/contentKeywordMatcher.js.map +1 -0
- package/dist/esm/utils/conversationApi.js +45 -0
- package/dist/esm/utils/conversationApi.js.map +1 -0
- package/dist/esm/utils/conversationMode.js +18 -0
- package/dist/esm/utils/conversationMode.js.map +1 -0
- package/dist/esm/utils/diagnosticsCollector.js +52 -0
- package/dist/esm/utils/diagnosticsCollector.js.map +1 -0
- package/dist/esm/utils/entityLinkParser.js +246 -0
- package/dist/esm/utils/entityLinkParser.js.map +1 -0
- package/dist/esm/utils/htmlCommentParser.js +117 -0
- package/dist/esm/utils/htmlCommentParser.js.map +1 -0
- package/dist/esm/utils/image-utils.js +45 -0
- package/dist/esm/utils/image-utils.js.map +1 -0
- package/dist/esm/utils/intentExtractor.js +45 -0
- package/dist/esm/utils/intentExtractor.js.map +1 -0
- package/dist/esm/utils/markdownPreprocessor.js +257 -0
- package/dist/esm/utils/markdownPreprocessor.js.map +1 -0
- package/dist/esm/utils/navigationStack.js +27 -0
- package/dist/esm/utils/navigationStack.js.map +1 -0
- package/dist/esm/utils/nodeMatchers.js +38 -0
- package/dist/esm/utils/nodeMatchers.js.map +1 -0
- package/dist/esm/utils/propsExtractor.js +58 -0
- package/dist/esm/utils/propsExtractor.js.map +1 -0
- package/dist/esm/utils/sessionManager.js +151 -0
- package/dist/esm/utils/sessionManager.js.map +1 -0
- package/dist/esm/utils/unifiedMarkdownParser.js +36 -0
- package/dist/esm/utils/unifiedMarkdownParser.js.map +1 -0
- package/dist/esm/utils/web5LinkValidator.js +52 -0
- package/dist/esm/utils/web5LinkValidator.js.map +1 -0
- package/dist/esm/utils/web5LinkValidator.test.js +113 -0
- package/dist/esm/utils/web5LinkValidator.test.js.map +1 -0
- package/dist/types/client/clientBundleOverride.d.ts +26 -0
- package/dist/types/client/clientBundleOverride.d.ts.map +1 -0
- package/dist/types/client/devEnvironment.d.ts +24 -0
- package/dist/types/client/devEnvironment.d.ts.map +1 -0
- package/dist/types/client/loadClientBundle.d.ts +27 -0
- package/dist/types/client/loadClientBundle.d.ts.map +1 -0
- package/dist/types/client/wixAuthFetch.d.ts +12 -0
- package/dist/types/client/wixAuthFetch.d.ts.map +1 -0
- package/dist/types/clients.d.ts +10 -0
- package/dist/types/clients.d.ts.map +1 -0
- package/dist/types/color/colorUtils.d.ts +9 -0
- package/dist/types/color/colorUtils.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/CalloutSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/CtaBannerSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/CtaBannerSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/EntitySectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/EntitySectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/ErrorSectionDefinition.d.ts +12 -0
- package/dist/types/component/componentDefinitions/ErrorSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/FallbackSectionDefinition.d.ts +16 -0
- package/dist/types/component/componentDefinitions/FallbackSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/FeatureCardsSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/FeatureCardsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/FeatureSection9PlusDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/FeatureSection9PlusDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts +23 -0
- package/dist/types/component/componentDefinitions/HeroEntitySectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts +12 -0
- package/dist/types/component/componentDefinitions/HeroSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/HtmlCommentSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/HtmlCommentSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/KpiSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/KpiSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/NextStepsSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/NextStepsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/SearchSectionDefinition.d.ts +10 -0
- package/dist/types/component/componentDefinitions/SearchSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/SkipNodesSectionDefinition.d.ts +12 -0
- package/dist/types/component/componentDefinitions/SkipNodesSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/TextBlockSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/index.d.ts +26 -0
- package/dist/types/component/componentDefinitions/index.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts +11 -0
- package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/parse-utils.d.ts +88 -0
- package/dist/types/component/componentDefinitions/parse-utils.d.ts.map +1 -0
- package/dist/types/component/componentDefinitions/specHelpers.d.ts +16 -0
- package/dist/types/component/componentDefinitions/specHelpers.d.ts.map +1 -0
- package/dist/types/component/componentParser.d.ts +63 -0
- package/dist/types/component/componentParser.d.ts.map +1 -0
- package/dist/types/component/diagnosticTypes.d.ts +23 -0
- package/dist/types/component/diagnosticTypes.d.ts.map +1 -0
- package/dist/types/component/parser-types.d.ts +71 -0
- package/dist/types/component/parser-types.d.ts.map +1 -0
- package/dist/types/component/section-definition.d.ts +32 -0
- package/dist/types/component/section-definition.d.ts.map +1 -0
- package/dist/types/component/types.d.ts +315 -0
- package/dist/types/component/types.d.ts.map +1 -0
- package/dist/types/components/placement/PlacementPayloadContext.d.ts +20 -0
- package/dist/types/components/placement/PlacementPayloadContext.d.ts.map +1 -0
- package/dist/types/components/placement/PlacementResponseRenderer.d.ts +106 -0
- package/dist/types/components/placement/PlacementResponseRenderer.d.ts.map +1 -0
- package/dist/types/components/placement/buildPlacementDependencies.d.ts +44 -0
- package/dist/types/components/placement/buildPlacementDependencies.d.ts.map +1 -0
- package/dist/types/components/ui/BottomContainer.d.ts +9 -0
- package/dist/types/components/ui/BottomContainer.d.ts.map +1 -0
- package/dist/types/components/ui/CalloutBlock.d.ts +9 -0
- package/dist/types/components/ui/CalloutBlock.d.ts.map +1 -0
- package/dist/types/components/ui/Disclaimer.d.ts +21 -0
- package/dist/types/components/ui/Disclaimer.d.ts.map +1 -0
- package/dist/types/components/ui/FeedbackBar.d.ts +41 -0
- package/dist/types/components/ui/FeedbackBar.d.ts.map +1 -0
- package/dist/types/components/ui/Loader.d.ts +9 -0
- package/dist/types/components/ui/Loader.d.ts.map +1 -0
- package/dist/types/components/ui/MarkdownText.d.ts +9 -0
- package/dist/types/components/ui/MarkdownText.d.ts.map +1 -0
- package/dist/types/components/ui/OptimizedImage.d.ts +59 -0
- package/dist/types/components/ui/OptimizedImage.d.ts.map +1 -0
- package/dist/types/components/ui/PlacementLoader.d.ts +15 -0
- package/dist/types/components/ui/PlacementLoader.d.ts.map +1 -0
- package/dist/types/components/ui/PromptEntryEmptyState.d.ts +21 -0
- package/dist/types/components/ui/PromptEntryEmptyState.d.ts.map +1 -0
- package/dist/types/components/ui/SearchSection.d.ts +37 -0
- package/dist/types/components/ui/SearchSection.d.ts.map +1 -0
- package/dist/types/components/ui/SectionSkeleton.d.ts +27 -0
- package/dist/types/components/ui/SectionSkeleton.d.ts.map +1 -0
- package/dist/types/components/ui/SmartIcon.d.ts +19 -0
- package/dist/types/components/ui/SmartIcon.d.ts.map +1 -0
- package/dist/types/components/ui/UnifiedLink.d.ts +22 -0
- package/dist/types/components/ui/UnifiedLink.d.ts.map +1 -0
- package/dist/types/components/ui/UserQuery.d.ts +33 -0
- package/dist/types/components/ui/UserQuery.d.ts.map +1 -0
- package/dist/types/components/ui/icons/ArrowTopRightIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/ArrowTopRightIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/ArrowUpIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/ArrowUpIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/CheckIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/CheckIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/CommentIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/CommentIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/PlusIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/PlusIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/RedoIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/RedoIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/ShareIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/ShareIcon.d.ts.map +1 -0
- package/dist/types/components/ui/icons/UndoIcon.d.ts +3 -0
- package/dist/types/components/ui/icons/UndoIcon.d.ts.map +1 -0
- package/dist/types/components/ui/table.d.ts +11 -0
- package/dist/types/components/ui/table.d.ts.map +1 -0
- package/dist/types/context/ChipsContext.d.ts +8 -0
- package/dist/types/context/ChipsContext.d.ts.map +1 -0
- package/dist/types/context/ComponentDependenciesContext.d.ts +8 -0
- package/dist/types/context/ComponentDependenciesContext.d.ts.map +1 -0
- package/dist/types/entity/defaultExtractor.d.ts +14 -0
- package/dist/types/entity/defaultExtractor.d.ts.map +1 -0
- package/dist/types/entity/enrichEntitiesFromPayload.d.ts +27 -0
- package/dist/types/entity/enrichEntitiesFromPayload.d.ts.map +1 -0
- package/dist/types/entity/fetchEntityListData.d.ts +20 -0
- package/dist/types/entity/fetchEntityListData.d.ts.map +1 -0
- package/dist/types/entity/index.d.ts +16 -0
- package/dist/types/entity/index.d.ts.map +1 -0
- package/dist/types/entity/types.d.ts +13 -0
- package/dist/types/entity/types.d.ts.map +1 -0
- package/dist/types/errors/conversationErrorTypes.d.ts +20 -0
- package/dist/types/errors/conversationErrorTypes.d.ts.map +1 -0
- package/dist/types/errors/errorTemplates.d.ts +27 -0
- package/dist/types/errors/errorTemplates.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +3 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/featureToggles/FeatureToggleContext.d.ts +18 -0
- package/dist/types/featureToggles/FeatureToggleContext.d.ts.map +1 -0
- package/dist/types/hooks/useConversation.d.ts +3 -0
- package/dist/types/hooks/useConversation.d.ts.map +1 -0
- package/dist/types/hooks/useDebugImageContext.d.ts +2 -0
- package/dist/types/hooks/useDebugImageContext.d.ts.map +1 -0
- package/dist/types/hooks/useEntityTransforms.d.ts +3 -0
- package/dist/types/hooks/useEntityTransforms.d.ts.map +1 -0
- package/dist/types/hooks/useMarkdownUtils.d.ts +3 -0
- package/dist/types/hooks/useMarkdownUtils.d.ts.map +1 -0
- package/dist/types/hooks/useResolveGenericEntityData.d.ts +11 -0
- package/dist/types/hooks/useResolveGenericEntityData.d.ts.map +1 -0
- package/dist/types/hooks/useResolveSearchSpringEntityData.d.ts +20 -0
- package/dist/types/hooks/useResolveSearchSpringEntityData.d.ts.map +1 -0
- package/dist/types/hooks/useResolveShopifyEntityData.d.ts +21 -0
- package/dist/types/hooks/useResolveShopifyEntityData.d.ts.map +1 -0
- package/dist/types/hooks/useResolvedImageSources.d.ts +6 -0
- package/dist/types/hooks/useResolvedImageSources.d.ts.map +1 -0
- package/dist/types/hooks/useWeb5Link.d.ts +3 -0
- package/dist/types/hooks/useWeb5Link.d.ts.map +1 -0
- package/dist/types/image/contextualImageTypes.d.ts +17 -0
- package/dist/types/image/contextualImageTypes.d.ts.map +1 -0
- package/dist/types/image/imageSearchFilterTypes.d.ts +14 -0
- package/dist/types/image/imageSearchFilterTypes.d.ts.map +1 -0
- package/dist/types/image/imageSearchFilters.d.ts +16 -0
- package/dist/types/image/imageSearchFilters.d.ts.map +1 -0
- package/dist/types/index.d.ts +88 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/utils.d.ts +3 -0
- package/dist/types/lib/utils.d.ts.map +1 -0
- package/dist/types/markdownBlocks.d.ts +44 -0
- package/dist/types/markdownBlocks.d.ts.map +1 -0
- package/dist/types/match/astToParts.d.ts +15 -0
- package/dist/types/match/astToParts.d.ts.map +1 -0
- package/dist/types/match/extractProps.d.ts +207 -0
- package/dist/types/match/extractProps.d.ts.map +1 -0
- package/dist/types/match/index.d.ts +4 -0
- package/dist/types/match/index.d.ts.map +1 -0
- package/dist/types/match/matchAllSections.d.ts +15 -0
- package/dist/types/match/matchAllSections.d.ts.map +1 -0
- package/dist/types/match/matchMarkdown.d.ts +25 -0
- package/dist/types/match/matchMarkdown.d.ts.map +1 -0
- package/dist/types/parts/parts.d.ts +144 -0
- package/dist/types/parts/parts.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/conflictDetector.d.ts +19 -0
- package/dist/types/patternAnalyzer/conflictDetector.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/index.d.ts +10 -0
- package/dist/types/patternAnalyzer/index.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/markdownGenerator.d.ts +9 -0
- package/dist/types/patternAnalyzer/markdownGenerator.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/mergeDetector.d.ts +14 -0
- package/dist/types/patternAnalyzer/mergeDetector.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/parserValidator.d.ts +13 -0
- package/dist/types/patternAnalyzer/parserValidator.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/patternWriter.d.ts +8 -0
- package/dist/types/patternAnalyzer/patternWriter.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/run.d.ts +2 -0
- package/dist/types/patternAnalyzer/run.d.ts.map +1 -0
- package/dist/types/patternAnalyzer/types.d.ts +59 -0
- package/dist/types/patternAnalyzer/types.d.ts.map +1 -0
- package/dist/types/patternValidator/automaton.d.ts +3 -0
- package/dist/types/patternValidator/automaton.d.ts.map +1 -0
- package/dist/types/patternValidator/index.d.ts +48 -0
- package/dist/types/patternValidator/index.d.ts.map +1 -0
- package/dist/types/patternValidator/lexer.d.ts +3 -0
- package/dist/types/patternValidator/lexer.d.ts.map +1 -0
- package/dist/types/patternValidator/matcher.d.ts +14 -0
- package/dist/types/patternValidator/matcher.d.ts.map +1 -0
- package/dist/types/patternValidator/parser.d.ts +14 -0
- package/dist/types/patternValidator/parser.d.ts.map +1 -0
- package/dist/types/patternValidator/types.d.ts +125 -0
- package/dist/types/patternValidator/types.d.ts.map +1 -0
- package/dist/types/patternValidator/validator.test.d.ts +2 -0
- package/dist/types/patternValidator/validator.test.d.ts.map +1 -0
- package/dist/types/registry/ComponentRegistry.d.ts +64 -0
- package/dist/types/registry/ComponentRegistry.d.ts.map +1 -0
- package/dist/types/registry/Intent.d.ts +12 -0
- package/dist/types/registry/Intent.d.ts.map +1 -0
- package/dist/types/registry/index.d.ts +4 -0
- package/dist/types/registry/index.d.ts.map +1 -0
- package/dist/types/registry/types.d.ts +99 -0
- package/dist/types/registry/types.d.ts.map +1 -0
- package/dist/types/services/cart/addToCart.d.ts +26 -0
- package/dist/types/services/cart/addToCart.d.ts.map +1 -0
- package/dist/types/services/cart/index.d.ts +2 -0
- package/dist/types/services/cart/index.d.ts.map +1 -0
- package/dist/types/services/searchspring/index.d.ts +4 -0
- package/dist/types/services/searchspring/index.d.ts.map +1 -0
- package/dist/types/services/searchspring/searchSpringClient.d.ts +13 -0
- package/dist/types/services/searchspring/searchSpringClient.d.ts.map +1 -0
- package/dist/types/services/searchspring/transformSSProduct.d.ts +7 -0
- package/dist/types/services/searchspring/transformSSProduct.d.ts.map +1 -0
- package/dist/types/services/searchspring/types.d.ts +48 -0
- package/dist/types/services/searchspring/types.d.ts.map +1 -0
- package/dist/types/services/shopify/index.d.ts +7 -0
- package/dist/types/services/shopify/index.d.ts.map +1 -0
- package/dist/types/services/shopify/queries.d.ts +13 -0
- package/dist/types/services/shopify/queries.d.ts.map +1 -0
- package/dist/types/services/shopify/resolveStoreDomain.d.ts +14 -0
- package/dist/types/services/shopify/resolveStoreDomain.d.ts.map +1 -0
- package/dist/types/services/shopify/shopifyEntityResolver.d.ts +21 -0
- package/dist/types/services/shopify/shopifyEntityResolver.d.ts.map +1 -0
- package/dist/types/services/shopify/shopifyStorefrontClient.d.ts +19 -0
- package/dist/types/services/shopify/shopifyStorefrontClient.d.ts.map +1 -0
- package/dist/types/services/shopify/transformShopifyEntity.d.ts +11 -0
- package/dist/types/services/shopify/transformShopifyEntity.d.ts.map +1 -0
- package/dist/types/services/shopify/types.d.ts +109 -0
- package/dist/types/services/shopify/types.d.ts.map +1 -0
- package/dist/types/testUtils.d.ts +7 -0
- package/dist/types/testUtils.d.ts.map +1 -0
- package/dist/types/types/answerUpdatedEvent.d.ts +29 -0
- package/dist/types/types/answerUpdatedEvent.d.ts.map +1 -0
- package/dist/types/types/blog.d.ts +22 -0
- package/dist/types/types/blog.d.ts.map +1 -0
- package/dist/types/types/callout.d.ts +7 -0
- package/dist/types/types/callout.d.ts.map +1 -0
- package/dist/types/types/dependencies.d.ts +191 -0
- package/dist/types/types/dependencies.d.ts.map +1 -0
- package/dist/types/types/entity.d.ts +38 -0
- package/dist/types/types/entity.d.ts.map +1 -0
- package/dist/types/types/link-types.d.ts +38 -0
- package/dist/types/types/link-types.d.ts.map +1 -0
- package/dist/types/types/page-section.d.ts +27 -0
- package/dist/types/types/page-section.d.ts.map +1 -0
- package/dist/types/types/placement.d.ts +94 -0
- package/dist/types/types/placement.d.ts.map +1 -0
- package/dist/types/types/redirectEvent.d.ts +42 -0
- package/dist/types/types/redirectEvent.d.ts.map +1 -0
- package/dist/types/types/userQueryEvent.d.ts +24 -0
- package/dist/types/types/userQueryEvent.d.ts.map +1 -0
- package/dist/types/utils/analyticsEvents.d.ts +24 -0
- package/dist/types/utils/analyticsEvents.d.ts.map +1 -0
- package/dist/types/utils/componentTracking.d.ts +55 -0
- package/dist/types/utils/componentTracking.d.ts.map +1 -0
- package/dist/types/utils/contentKeywordMatcher.d.ts +14 -0
- package/dist/types/utils/contentKeywordMatcher.d.ts.map +1 -0
- package/dist/types/utils/conversationApi.d.ts +26 -0
- package/dist/types/utils/conversationApi.d.ts.map +1 -0
- package/dist/types/utils/conversationMode.d.ts +16 -0
- package/dist/types/utils/conversationMode.d.ts.map +1 -0
- package/dist/types/utils/diagnosticsCollector.d.ts +33 -0
- package/dist/types/utils/diagnosticsCollector.d.ts.map +1 -0
- package/dist/types/utils/entityLinkParser.d.ts +97 -0
- package/dist/types/utils/entityLinkParser.d.ts.map +1 -0
- package/dist/types/utils/htmlCommentParser.d.ts +13 -0
- package/dist/types/utils/htmlCommentParser.d.ts.map +1 -0
- package/dist/types/utils/image-utils.d.ts +10 -0
- package/dist/types/utils/image-utils.d.ts.map +1 -0
- package/dist/types/utils/intentExtractor.d.ts +11 -0
- package/dist/types/utils/intentExtractor.d.ts.map +1 -0
- package/dist/types/utils/markdownPreprocessor.d.ts +95 -0
- package/dist/types/utils/markdownPreprocessor.d.ts.map +1 -0
- package/dist/types/utils/navigationStack.d.ts +6 -0
- package/dist/types/utils/navigationStack.d.ts.map +1 -0
- package/dist/types/utils/nodeMatchers.d.ts +10 -0
- package/dist/types/utils/nodeMatchers.d.ts.map +1 -0
- package/dist/types/utils/propsExtractor.d.ts +51 -0
- package/dist/types/utils/propsExtractor.d.ts.map +1 -0
- package/dist/types/utils/sessionManager.d.ts +57 -0
- package/dist/types/utils/sessionManager.d.ts.map +1 -0
- package/dist/types/utils/unifiedMarkdownParser.d.ts +9 -0
- package/dist/types/utils/unifiedMarkdownParser.d.ts.map +1 -0
- package/dist/types/utils/web5LinkValidator.d.ts +14 -0
- package/dist/types/utils/web5LinkValidator.d.ts.map +1 -0
- package/dist/types/utils/web5LinkValidator.test.d.ts +2 -0
- package/dist/types/utils/web5LinkValidator.test.d.ts.map +1 -0
- package/package.json +103 -0
- package/src/styles/base-tokens.css +152 -0
- package/src/styles/base-utilities.css +424 -0
- package/src/styles/components.css +6 -0
- package/src/styles/prompt-input-tokens.css +136 -0
- package/src/styles/tailwind-theme.css +138 -0
package/README.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# web5-core
|
|
2
|
+
|
|
3
|
+
Library flow package generated with Yoshi.
|
|
4
|
+
|
|
5
|
+
## Useful URLs
|
|
6
|
+
|
|
7
|
+
- [Yoshi Library Flow Docs](https://bo.wix.com/pages/yoshi/docs/library-flow/overview)
|
|
8
|
+
- [Falcon Packages Guide Docs](https://dev.wix.com/docs/rnd-general/devex/falcon/guide/packages)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.getClientBundleOverride = getClientBundleOverride;
|
|
5
|
+
exports.isTrustedBundleHost = isTrustedBundleHost;
|
|
6
|
+
/**
|
|
7
|
+
* `?clientBundleUrl=…` dev override — shared between `web50-server-ui`
|
|
8
|
+
* (the main app, DL #094) and `embed-placement` (the Shopify-page widget).
|
|
9
|
+
*
|
|
10
|
+
* Both load a `w5-client-*` UMD at runtime; both need the same per-tab
|
|
11
|
+
* escape hatch for local builds. Centralizing the trusted-host gate here
|
|
12
|
+
* means a new CDN URL is added in one place and can't drift between the
|
|
13
|
+
* two callers — divergence on a security boundary would be a real bug.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
const TRUSTED_BUNDLE_HOSTS = new Set(['localhost', 'd13cktzsgh0qls.cloudfront.net']);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Returns true when `url`'s host is one we'll execute as JavaScript on the
|
|
20
|
+
* caller's page. The boundary is on WHERE the bundle is served from, not on
|
|
21
|
+
* the page origin — `?clientBundleUrl=` works from any storefront.
|
|
22
|
+
*/
|
|
23
|
+
function isTrustedBundleHost(url) {
|
|
24
|
+
try {
|
|
25
|
+
const {
|
|
26
|
+
hostname
|
|
27
|
+
} = new URL(url);
|
|
28
|
+
return TRUSTED_BUNDLE_HOSTS.has(hostname);
|
|
29
|
+
} catch {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Reads `?clientBundleUrl=…` from a query string and returns it when the
|
|
36
|
+
* URL points at a trusted host, else `null` (caller falls back to its
|
|
37
|
+
* normal resolver).
|
|
38
|
+
*
|
|
39
|
+
* Examples:
|
|
40
|
+
* ?clientBundleUrl=http://localhost:5001/w5-client-feature-com.umd.js
|
|
41
|
+
* ?clientBundleUrl=https://d13cktzsgh0qls.cloudfront.net/<msid>/latest/w5-components.umd.js
|
|
42
|
+
*/
|
|
43
|
+
function getClientBundleOverride(search) {
|
|
44
|
+
const value = new URLSearchParams(search).get('clientBundleUrl');
|
|
45
|
+
if (!value || !isTrustedBundleHost(value)) return null;
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=clientBundleOverride.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TRUSTED_BUNDLE_HOSTS","Set","isTrustedBundleHost","url","hostname","URL","has","getClientBundleOverride","search","value","URLSearchParams","get"],"sources":["../../../src/client/clientBundleOverride.ts"],"sourcesContent":["/**\n * `?clientBundleUrl=…` dev override — shared between `web50-server-ui`\n * (the main app, DL #094) and `embed-placement` (the Shopify-page widget).\n *\n * Both load a `w5-client-*` UMD at runtime; both need the same per-tab\n * escape hatch for local builds. Centralizing the trusted-host gate here\n * means a new CDN URL is added in one place and can't drift between the\n * two callers — divergence on a security boundary would be a real bug.\n */\n\nconst TRUSTED_BUNDLE_HOSTS: ReadonlySet<string> = new Set([\n 'localhost',\n 'd13cktzsgh0qls.cloudfront.net',\n]);\n\n/**\n * Returns true when `url`'s host is one we'll execute as JavaScript on the\n * caller's page. The boundary is on WHERE the bundle is served from, not on\n * the page origin — `?clientBundleUrl=` works from any storefront.\n */\nexport function isTrustedBundleHost(url: string): boolean {\n try {\n const { hostname } = new URL(url);\n return TRUSTED_BUNDLE_HOSTS.has(hostname);\n } catch {\n return false;\n }\n}\n\n/**\n * Reads `?clientBundleUrl=…` from a query string and returns it when the\n * URL points at a trusted host, else `null` (caller falls back to its\n * normal resolver).\n *\n * Examples:\n * ?clientBundleUrl=http://localhost:5001/w5-client-feature-com.umd.js\n * ?clientBundleUrl=https://d13cktzsgh0qls.cloudfront.net/<msid>/latest/w5-components.umd.js\n */\nexport function getClientBundleOverride(search: string): string | null {\n const value = new URLSearchParams(search).get('clientBundleUrl');\n if (!value || !isTrustedBundleHost(value)) return null;\n return value;\n}\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,oBAAyC,GAAG,IAAIC,GAAG,CAAC,CACxD,WAAW,EACX,+BAA+B,CAChC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAACC,GAAW,EAAW;EACxD,IAAI;IACF,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAIC,GAAG,CAACF,GAAG,CAAC;IACjC,OAAOH,oBAAoB,CAACM,GAAG,CAACF,QAAQ,CAAC;EAC3C,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,uBAAuBA,CAACC,MAAc,EAAiB;EACrE,MAAMC,KAAK,GAAG,IAAIC,eAAe,CAACF,MAAM,CAAC,CAACG,GAAG,CAAC,iBAAiB,CAAC;EAChE,IAAI,CAACF,KAAK,IAAI,CAACP,mBAAmB,CAACO,KAAK,CAAC,EAAE,OAAO,IAAI;EACtD,OAAOA,KAAK;AACd","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/client/devEnvironment.ts"],"sourcesContent":["/**\n * Optional dev-only hook each client package can export to wrap the React\n * root in a host-site-like shell (header / footer / sidebars) so local\n * development looks closer to the customer page the bundle is embedded in.\n *\n * Implementations live behind an `import.meta.env.DEV` guard inside the\n * client package so they tree-shake out of the production UMD.\n */\nexport interface DevEnvironment {\n /**\n * Called by `client.tsx` after the bundle loads but before `createRoot`,\n * in dev mode only. Free to mutate the DOM around `rootElement` (move it,\n * inject siblings, append <style>/<link>, etc.).\n *\n * Return `{ mountElement }` to redirect React to a different node;\n * otherwise React mounts on the original `rootElement`.\n */\n setup(args: { rootElement: HTMLElement }): { mountElement: HTMLElement } | void;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.loadClientBundle = loadClientBundle;
|
|
5
|
+
var React = _interopRequireWildcard(require("react"));
|
|
6
|
+
var ReactDOM = _interopRequireWildcard(require("react-dom"));
|
|
7
|
+
var Web5Core = _interopRequireWildcard(require("../index"));
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
9
|
+
/**
|
|
10
|
+
* Client bundle loader (DL #088 D3.3, lifted from `web50-server-ui`).
|
|
11
|
+
*
|
|
12
|
+
* Injects a client UMD `<script>` tag at the given URL, exposes the running
|
|
13
|
+
* `web5-core` instance as `window.Web5Core` so the bundle shares React-context
|
|
14
|
+
* instances with the host, and resolves with whatever the bundle attached to
|
|
15
|
+
* `window.W5ClientPackage`.
|
|
16
|
+
*
|
|
17
|
+
* Generic over the module shape — callers know what their specific bundle
|
|
18
|
+
* exports, and this primitive intentionally doesn't enforce a schema. The
|
|
19
|
+
* full app extends with rich `ClientPackageModule` / `ClientPackage` types
|
|
20
|
+
* locally; placement-style consumers only need `createDefaultRegistry` from
|
|
21
|
+
* the resolved object.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
const W5_CLIENT_PACKAGE_GLOBAL = 'W5ClientPackage';
|
|
25
|
+
const WEB5_CORE_GLOBAL = 'Web5Core';
|
|
26
|
+
const REACT_GLOBAL = 'React';
|
|
27
|
+
const REACT_DOM_GLOBAL = 'ReactDOM';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Subset of an HTMLScriptElement used by this module. Lets tests substitute a
|
|
31
|
+
* plain object with `onload` / `onerror` setters rather than spinning up a DOM.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
function defaultInject(src) {
|
|
35
|
+
const script = document.createElement('script');
|
|
36
|
+
script.src = src;
|
|
37
|
+
document.head.appendChild(script);
|
|
38
|
+
return script;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Inject a client UMD bundle's `<script>` tag, expose the running `web5-core`
|
|
43
|
+
* instance as `globalThis.Web5Core` for shared React contexts, and resolve
|
|
44
|
+
* with the module the bundle attached to `globalThis.W5ClientPackage`.
|
|
45
|
+
*
|
|
46
|
+
* @param bundleUrl - The CDN URL of the client UMD. Typically comes from
|
|
47
|
+
* `Configuration.bundleUrl` (DL #075) or a route-specific override.
|
|
48
|
+
* @param opts - Optional test hooks for DOM-less environments.
|
|
49
|
+
*/
|
|
50
|
+
async function loadClientBundle(bundleUrl, opts = {}) {
|
|
51
|
+
const global = opts.globalRef ?? globalThis;
|
|
52
|
+
const inject = opts.injectScript ?? defaultInject;
|
|
53
|
+
|
|
54
|
+
// Expose the running web5-core instance so the UMD bundle shares the same
|
|
55
|
+
// React-context instances instead of creating duplicates inside its own
|
|
56
|
+
// import scope. Same shared-global trick web50-server-ui has used since DL #056.
|
|
57
|
+
global[WEB5_CORE_GLOBAL] = Web5Core;
|
|
58
|
+
// The client UMD lists `react` and `react-dom` as externals (see
|
|
59
|
+
// packages/web5-core/scripts/vite-cdn-config.ts) and expects `window.React`
|
|
60
|
+
// and `window.ReactDOM`. embed-placement bundles its own React inside the
|
|
61
|
+
// widget IIFE — without these assignments the UMD evaluates against
|
|
62
|
+
// `undefined` and ReactDOM throws on `__SECRET_INTERNALS_DO_NOT_USE_…`.
|
|
63
|
+
global[REACT_GLOBAL] ?? (global[REACT_GLOBAL] = React);
|
|
64
|
+
global[REACT_DOM_GLOBAL] ?? (global[REACT_DOM_GLOBAL] = ReactDOM);
|
|
65
|
+
|
|
66
|
+
// NOTE: client bundles MUST be IIFEs, not UMD — Wix Thunderbolt host pages
|
|
67
|
+
// ship RequireJS, whose global `define.amd` makes a UMD wrapper register as
|
|
68
|
+
// an anonymous AMD module instead of assigning `window.W5ClientPackage`
|
|
69
|
+
// (observed as a blank app on demoweb5cr.com). The format is enforced at
|
|
70
|
+
// build time by `scripts/vite-cdn-config.ts`; this loader deliberately does
|
|
71
|
+
// NOT touch `window.define` at runtime.
|
|
72
|
+
return new Promise((resolve, reject) => {
|
|
73
|
+
const script = inject(bundleUrl);
|
|
74
|
+
script.onload = () => {
|
|
75
|
+
const mod = global[W5_CLIENT_PACKAGE_GLOBAL];
|
|
76
|
+
if (!mod) {
|
|
77
|
+
reject(new Error(`[Web5] Bundle at ${bundleUrl} did not expose window.${W5_CLIENT_PACKAGE_GLOBAL}`));
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
resolve(mod);
|
|
81
|
+
};
|
|
82
|
+
script.onerror = () => reject(new Error(`[Web5] Failed to load client bundle from ${bundleUrl}`));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=loadClientBundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","ReactDOM","Web5Core","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","W5_CLIENT_PACKAGE_GLOBAL","WEB5_CORE_GLOBAL","REACT_GLOBAL","REACT_DOM_GLOBAL","defaultInject","src","script","document","createElement","head","appendChild","loadClientBundle","bundleUrl","opts","global","globalRef","globalThis","inject","injectScript","Promise","resolve","reject","onload","mod","Error","onerror"],"sources":["../../../src/client/loadClientBundle.ts"],"sourcesContent":["/**\n * Client bundle loader (DL #088 D3.3, lifted from `web50-server-ui`).\n *\n * Injects a client UMD `<script>` tag at the given URL, exposes the running\n * `web5-core` instance as `window.Web5Core` so the bundle shares React-context\n * instances with the host, and resolves with whatever the bundle attached to\n * `window.W5ClientPackage`.\n *\n * Generic over the module shape — callers know what their specific bundle\n * exports, and this primitive intentionally doesn't enforce a schema. The\n * full app extends with rich `ClientPackageModule` / `ClientPackage` types\n * locally; placement-style consumers only need `createDefaultRegistry` from\n * the resolved object.\n */\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport * as Web5Core from '../index';\n\nconst W5_CLIENT_PACKAGE_GLOBAL = 'W5ClientPackage';\nconst WEB5_CORE_GLOBAL = 'Web5Core';\nconst REACT_GLOBAL = 'React';\nconst REACT_DOM_GLOBAL = 'ReactDOM';\n\n/**\n * Subset of an HTMLScriptElement used by this module. Lets tests substitute a\n * plain object with `onload` / `onerror` setters rather than spinning up a DOM.\n */\nexport interface ScriptHandle {\n onload: ((ev?: unknown) => void) | null;\n onerror: ((ev?: unknown) => void) | null;\n}\n\ntype ScriptInjector = (src: string) => ScriptHandle;\n\nexport interface LoadClientBundleOptions {\n /** Test hook — inject the `<script>` via a custom function. */\n injectScript?: ScriptInjector;\n /** Test hook — read/write the bundle + core globals on this object instead of `globalThis`. */\n globalRef?: Record<string, unknown>;\n}\n\nfunction defaultInject(src: string): ScriptHandle {\n const script = document.createElement('script');\n script.src = src;\n document.head.appendChild(script);\n return script as ScriptHandle;\n}\n\n/**\n * Inject a client UMD bundle's `<script>` tag, expose the running `web5-core`\n * instance as `globalThis.Web5Core` for shared React contexts, and resolve\n * with the module the bundle attached to `globalThis.W5ClientPackage`.\n *\n * @param bundleUrl - The CDN URL of the client UMD. Typically comes from\n * `Configuration.bundleUrl` (DL #075) or a route-specific override.\n * @param opts - Optional test hooks for DOM-less environments.\n */\nexport async function loadClientBundle<T>(\n bundleUrl: string,\n opts: LoadClientBundleOptions = {},\n): Promise<T> {\n const global = opts.globalRef ?? (globalThis as unknown as Record<string, unknown>);\n const inject = opts.injectScript ?? defaultInject;\n\n // Expose the running web5-core instance so the UMD bundle shares the same\n // React-context instances instead of creating duplicates inside its own\n // import scope. Same shared-global trick web50-server-ui has used since DL #056.\n global[WEB5_CORE_GLOBAL] = Web5Core;\n // The client UMD lists `react` and `react-dom` as externals (see\n // packages/web5-core/scripts/vite-cdn-config.ts) and expects `window.React`\n // and `window.ReactDOM`. embed-placement bundles its own React inside the\n // widget IIFE — without these assignments the UMD evaluates against\n // `undefined` and ReactDOM throws on `__SECRET_INTERNALS_DO_NOT_USE_…`.\n global[REACT_GLOBAL] ??= React;\n global[REACT_DOM_GLOBAL] ??= ReactDOM;\n\n // NOTE: client bundles MUST be IIFEs, not UMD — Wix Thunderbolt host pages\n // ship RequireJS, whose global `define.amd` makes a UMD wrapper register as\n // an anonymous AMD module instead of assigning `window.W5ClientPackage`\n // (observed as a blank app on demoweb5cr.com). The format is enforced at\n // build time by `scripts/vite-cdn-config.ts`; this loader deliberately does\n // NOT touch `window.define` at runtime.\n return new Promise<T>((resolve, reject) => {\n const script = inject(bundleUrl);\n script.onload = () => {\n const mod = global[W5_CLIENT_PACKAGE_GLOBAL] as T | undefined;\n if (!mod) {\n reject(\n new Error(\n `[Web5] Bundle at ${bundleUrl} did not expose window.${W5_CLIENT_PACKAGE_GLOBAL}`,\n ),\n );\n return;\n }\n resolve(mod);\n };\n script.onerror = () =>\n reject(new Error(`[Web5] Failed to load client bundle from ${bundleUrl}`));\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.createWixAuthFetch = createWixAuthFetch;
|
|
5
|
+
var _sdk = require("@wix/sdk");
|
|
6
|
+
/**
|
|
7
|
+
* Wix-authenticated `fetch` for Web5 BE calls from a host (third-party) origin.
|
|
8
|
+
*
|
|
9
|
+
* `wixapis.com`'s `/wix-assistant-web5/v1/conversation` endpoint refuses
|
|
10
|
+
* cross-origin anonymous calls (HTTP 500) — the only auth path that survives
|
|
11
|
+
* CORS from a host (e.g. Shopify) origin is `@wix/sdk`'s `OAuthStrategy`, which
|
|
12
|
+
* supplies the `Authorization` header the BE allowlists.
|
|
13
|
+
*
|
|
14
|
+
* Shared by every embed bundle that talks to the conversation endpoint — the
|
|
15
|
+
* placement bundle and the input-widget chip generator — so they all attach
|
|
16
|
+
* the same token. Token caching uses the same `localStorage` key format
|
|
17
|
+
* (`web5_tokens_<clientId>`) as `web50-server-ui`'s token cache, so the loader,
|
|
18
|
+
* full app, placement, and input widget share one OAuth token instead of each
|
|
19
|
+
* burning a `/oauth2/token` round-trip per page load.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
const TOKEN_CACHE_KEY_PREFIX = 'web5_tokens_';
|
|
23
|
+
function tokenKey(clientId) {
|
|
24
|
+
return `${TOKEN_CACHE_KEY_PREFIX}${clientId}`;
|
|
25
|
+
}
|
|
26
|
+
function loadTokens(client, clientId) {
|
|
27
|
+
try {
|
|
28
|
+
const raw = localStorage.getItem(tokenKey(clientId));
|
|
29
|
+
if (!raw) return;
|
|
30
|
+
client.auth.setTokens(JSON.parse(raw));
|
|
31
|
+
} catch {
|
|
32
|
+
try {
|
|
33
|
+
localStorage.removeItem(tokenKey(clientId));
|
|
34
|
+
} catch {
|
|
35
|
+
/* ignore */
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function saveTokens(client, clientId) {
|
|
40
|
+
try {
|
|
41
|
+
localStorage.setItem(tokenKey(clientId), JSON.stringify(client.auth.getTokens()));
|
|
42
|
+
} catch {
|
|
43
|
+
// privacy mode / quota — in-memory token still works for this session
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Build a `fetch`-shaped function pre-bound to the given Wix client id. The
|
|
49
|
+
* returned value is drop-in compatible with any `fetchImpl` option
|
|
50
|
+
* (`placementFetch`, `fetchContextualChips`, …).
|
|
51
|
+
*
|
|
52
|
+
* Each call loads cached tokens before the request, then saves the (possibly
|
|
53
|
+
* refreshed) tokens after the response headers arrive — we deliberately do NOT
|
|
54
|
+
* wait for the streaming body; the SDK's refresh runs alongside the stream and
|
|
55
|
+
* the saved tokens benefit subsequent calls.
|
|
56
|
+
*/
|
|
57
|
+
function createWixAuthFetch(clientId) {
|
|
58
|
+
if (!clientId) {
|
|
59
|
+
throw new Error('[web5-core] createWixAuthFetch: clientId is empty');
|
|
60
|
+
}
|
|
61
|
+
const client = (0, _sdk.createClient)({
|
|
62
|
+
auth: (0, _sdk.OAuthStrategy)({
|
|
63
|
+
clientId
|
|
64
|
+
})
|
|
65
|
+
});
|
|
66
|
+
return async (input, init) => {
|
|
67
|
+
loadTokens(client, clientId);
|
|
68
|
+
const res = await client.fetchWithAuth(input, init);
|
|
69
|
+
saveTokens(client, clientId);
|
|
70
|
+
return res;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=wixAuthFetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_sdk","require","TOKEN_CACHE_KEY_PREFIX","tokenKey","clientId","loadTokens","client","raw","localStorage","getItem","auth","setTokens","JSON","parse","removeItem","saveTokens","setItem","stringify","getTokens","createWixAuthFetch","Error","createClient","OAuthStrategy","input","init","res","fetchWithAuth"],"sources":["../../../src/client/wixAuthFetch.ts"],"sourcesContent":["/**\n * Wix-authenticated `fetch` for Web5 BE calls from a host (third-party) origin.\n *\n * `wixapis.com`'s `/wix-assistant-web5/v1/conversation` endpoint refuses\n * cross-origin anonymous calls (HTTP 500) — the only auth path that survives\n * CORS from a host (e.g. Shopify) origin is `@wix/sdk`'s `OAuthStrategy`, which\n * supplies the `Authorization` header the BE allowlists.\n *\n * Shared by every embed bundle that talks to the conversation endpoint — the\n * placement bundle and the input-widget chip generator — so they all attach\n * the same token. Token caching uses the same `localStorage` key format\n * (`web5_tokens_<clientId>`) as `web50-server-ui`'s token cache, so the loader,\n * full app, placement, and input widget share one OAuth token instead of each\n * burning a `/oauth2/token` round-trip per page load.\n */\nimport { createClient, OAuthStrategy } from '@wix/sdk';\n\nconst TOKEN_CACHE_KEY_PREFIX = 'web5_tokens_';\n\ninterface SdkClient {\n fetchWithAuth: typeof fetch;\n auth: {\n setTokens: (tokens: unknown) => void;\n getTokens: () => unknown;\n };\n}\n\nfunction tokenKey(clientId: string): string {\n return `${TOKEN_CACHE_KEY_PREFIX}${clientId}`;\n}\n\nfunction loadTokens(client: SdkClient, clientId: string): void {\n try {\n const raw = localStorage.getItem(tokenKey(clientId));\n if (!raw) return;\n client.auth.setTokens(JSON.parse(raw));\n } catch {\n try {\n localStorage.removeItem(tokenKey(clientId));\n } catch {\n /* ignore */\n }\n }\n}\n\nfunction saveTokens(client: SdkClient, clientId: string): void {\n try {\n localStorage.setItem(\n tokenKey(clientId),\n JSON.stringify(client.auth.getTokens()),\n );\n } catch {\n // privacy mode / quota — in-memory token still works for this session\n }\n}\n\n/**\n * Build a `fetch`-shaped function pre-bound to the given Wix client id. The\n * returned value is drop-in compatible with any `fetchImpl` option\n * (`placementFetch`, `fetchContextualChips`, …).\n *\n * Each call loads cached tokens before the request, then saves the (possibly\n * refreshed) tokens after the response headers arrive — we deliberately do NOT\n * wait for the streaming body; the SDK's refresh runs alongside the stream and\n * the saved tokens benefit subsequent calls.\n */\nexport function createWixAuthFetch(clientId: string): typeof fetch {\n if (!clientId) {\n throw new Error('[web5-core] createWixAuthFetch: clientId is empty');\n }\n const client = createClient({\n auth: OAuthStrategy({ clientId }),\n }) as unknown as SdkClient;\n\n return (async (input: RequestInfo | URL, init?: RequestInit) => {\n loadTokens(client, clientId);\n const res = await client.fetchWithAuth(input, init);\n saveTokens(client, clientId);\n return res;\n }) as typeof fetch;\n}\n"],"mappings":";;;;AAeA,IAAAA,IAAA,GAAAC,OAAA;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAMC,sBAAsB,GAAG,cAAc;AAU7C,SAASC,QAAQA,CAACC,QAAgB,EAAU;EAC1C,OAAO,GAAGF,sBAAsB,GAAGE,QAAQ,EAAE;AAC/C;AAEA,SAASC,UAAUA,CAACC,MAAiB,EAAEF,QAAgB,EAAQ;EAC7D,IAAI;IACF,MAAMG,GAAG,GAAGC,YAAY,CAACC,OAAO,CAACN,QAAQ,CAACC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAACG,GAAG,EAAE;IACVD,MAAM,CAACI,IAAI,CAACC,SAAS,CAACC,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,CAAC;EACxC,CAAC,CAAC,MAAM;IACN,IAAI;MACFC,YAAY,CAACM,UAAU,CAACX,QAAQ,CAACC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;AACF;AAEA,SAASW,UAAUA,CAACT,MAAiB,EAAEF,QAAgB,EAAQ;EAC7D,IAAI;IACFI,YAAY,CAACQ,OAAO,CAClBb,QAAQ,CAACC,QAAQ,CAAC,EAClBQ,IAAI,CAACK,SAAS,CAACX,MAAM,CAACI,IAAI,CAACQ,SAAS,CAAC,CAAC,CACxC,CAAC;EACH,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACf,QAAgB,EAAgB;EACjE,IAAI,CAACA,QAAQ,EAAE;IACb,MAAM,IAAIgB,KAAK,CAAC,mDAAmD,CAAC;EACtE;EACA,MAAMd,MAAM,GAAG,IAAAe,iBAAY,EAAC;IAC1BX,IAAI,EAAE,IAAAY,kBAAa,EAAC;MAAElB;IAAS,CAAC;EAClC,CAAC,CAAyB;EAE1B,OAAQ,OAAOmB,KAAwB,EAAEC,IAAkB,KAAK;IAC9DnB,UAAU,CAACC,MAAM,EAAEF,QAAQ,CAAC;IAC5B,MAAMqB,GAAG,GAAG,MAAMnB,MAAM,CAACoB,aAAa,CAACH,KAAK,EAAEC,IAAI,CAAC;IACnDT,UAAU,CAACT,MAAM,EAAEF,QAAQ,CAAC;IAC5B,OAAOqB,GAAG;EACZ,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.EXPERIMENT_IDS = exports.CLIENT_IDS = void 0;
|
|
5
|
+
const CLIENT_IDS = exports.CLIENT_IDS = {
|
|
6
|
+
CIRCANA_DEMO: '9efd0d80-5661-4497-8267-76a2bb075d80',
|
|
7
|
+
CIRCANA_PROD: '976944ca-fead-4d31-94db-2b3ac4c55ad5',
|
|
8
|
+
FEATURE_COM: '9ed0cd73-31e2-48f6-83cd-df96267a8471'
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
/** Petri / Conductor experiment IDs evaluated in the `web5-embed` scope. */
|
|
12
|
+
const EXPERIMENT_IDS = exports.EXPERIMENT_IDS = {
|
|
13
|
+
WEB5_CUSTOM: 'web5Custom'
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=clients.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CLIENT_IDS","exports","CIRCANA_DEMO","CIRCANA_PROD","FEATURE_COM","EXPERIMENT_IDS","WEB5_CUSTOM"],"sources":["../../src/clients.ts"],"sourcesContent":["export const CLIENT_IDS = {\n CIRCANA_DEMO: '9efd0d80-5661-4497-8267-76a2bb075d80',\n CIRCANA_PROD: '976944ca-fead-4d31-94db-2b3ac4c55ad5',\n FEATURE_COM: '9ed0cd73-31e2-48f6-83cd-df96267a8471',\n} as const;\n\n/** Petri / Conductor experiment IDs evaluated in the `web5-embed` scope. */\nexport const EXPERIMENT_IDS = {\n WEB5_CUSTOM: 'web5Custom',\n} as const;\n"],"mappings":";;;;AAAO,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACxBE,YAAY,EAAE,sCAAsC;EACpDC,YAAY,EAAE,sCAAsC;EACpDC,WAAW,EAAE;AACf,CAAU;;AAEV;AACO,MAAMC,cAAc,GAAAJ,OAAA,CAAAI,cAAA,GAAG;EAC5BC,WAAW,EAAE;AACf,CAAU","ignoreList":[]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.deriveDarkColor = deriveDarkColor;
|
|
5
|
+
exports.deriveDarkGradient = deriveDarkGradient;
|
|
6
|
+
exports.deriveLightColor = deriveLightColor;
|
|
7
|
+
exports.ensureMinLightness = ensureMinLightness;
|
|
8
|
+
exports.hslToRgb = hslToRgb;
|
|
9
|
+
exports.rgbToHsl = rgbToHsl;
|
|
10
|
+
exports.toRgb = toRgb;
|
|
11
|
+
function rgbToHsl([r, g, b]) {
|
|
12
|
+
r /= 255;
|
|
13
|
+
g /= 255;
|
|
14
|
+
b /= 255;
|
|
15
|
+
const max = Math.max(r, g, b),
|
|
16
|
+
min = Math.min(r, g, b);
|
|
17
|
+
let h = 0,
|
|
18
|
+
s = 0;
|
|
19
|
+
const l = (max + min) / 2;
|
|
20
|
+
if (max !== min) {
|
|
21
|
+
const d = max - min;
|
|
22
|
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
23
|
+
if (max === r) {
|
|
24
|
+
h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
|
|
25
|
+
} else if (max === g) {
|
|
26
|
+
h = ((b - r) / d + 2) / 6;
|
|
27
|
+
} else {
|
|
28
|
+
h = ((r - g) / d + 4) / 6;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return [h * 360, s * 100, l * 100];
|
|
32
|
+
}
|
|
33
|
+
function hslToRgb([h, s, l]) {
|
|
34
|
+
h /= 360;
|
|
35
|
+
s /= 100;
|
|
36
|
+
l /= 100;
|
|
37
|
+
if (s === 0) {
|
|
38
|
+
const v = Math.round(l * 255);
|
|
39
|
+
return [v, v, v];
|
|
40
|
+
}
|
|
41
|
+
const hue2rgb = (p, q, t) => {
|
|
42
|
+
if (t < 0) {
|
|
43
|
+
t += 1;
|
|
44
|
+
}
|
|
45
|
+
if (t > 1) {
|
|
46
|
+
t -= 1;
|
|
47
|
+
}
|
|
48
|
+
if (t < 1 / 6) {
|
|
49
|
+
return p + (q - p) * 6 * t;
|
|
50
|
+
}
|
|
51
|
+
if (t < 1 / 2) {
|
|
52
|
+
return q;
|
|
53
|
+
}
|
|
54
|
+
if (t < 2 / 3) {
|
|
55
|
+
return p + (q - p) * (2 / 3 - t) * 6;
|
|
56
|
+
}
|
|
57
|
+
return p;
|
|
58
|
+
};
|
|
59
|
+
const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
60
|
+
const p = 2 * l - q;
|
|
61
|
+
return [Math.round(hue2rgb(p, q, h + 1 / 3) * 255), Math.round(hue2rgb(p, q, h) * 255), Math.round(hue2rgb(p, q, h - 1 / 3) * 255)];
|
|
62
|
+
}
|
|
63
|
+
function ensureMinLightness(rgb, minL) {
|
|
64
|
+
const [h, s, l] = rgbToHsl(rgb);
|
|
65
|
+
if (l >= minL) {
|
|
66
|
+
return rgb;
|
|
67
|
+
}
|
|
68
|
+
return hslToRgb([h, s, minL]);
|
|
69
|
+
}
|
|
70
|
+
function toRgb(c) {
|
|
71
|
+
return `rgb(${c[0]}, ${c[1]}, ${c[2]})`;
|
|
72
|
+
}
|
|
73
|
+
function deriveDarkColor(palette, minDarkness) {
|
|
74
|
+
if (!palette.length) {
|
|
75
|
+
return [0, 0, 0];
|
|
76
|
+
}
|
|
77
|
+
let darkest = palette[0];
|
|
78
|
+
let lowestL = rgbToHsl(palette[0])[2];
|
|
79
|
+
for (let i = 1; i < palette.length; i++) {
|
|
80
|
+
const l = rgbToHsl(palette[i])[2];
|
|
81
|
+
if (l < lowestL) {
|
|
82
|
+
lowestL = l;
|
|
83
|
+
darkest = palette[i];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const [h, s, l] = rgbToHsl(darkest);
|
|
87
|
+
const maxLightness = 100 - minDarkness;
|
|
88
|
+
if (l <= maxLightness) {
|
|
89
|
+
return darkest;
|
|
90
|
+
}
|
|
91
|
+
return hslToRgb([h, s, maxLightness]);
|
|
92
|
+
}
|
|
93
|
+
function deriveDarkGradient(palette, minDarkness) {
|
|
94
|
+
if (!palette.length) {
|
|
95
|
+
return ['rgb(0, 0, 0)', 'rgb(0, 0, 0)'];
|
|
96
|
+
}
|
|
97
|
+
const sorted = [...palette].sort((a, b) => rgbToHsl(a)[2] - rgbToHsl(b)[2]);
|
|
98
|
+
const maxLightness = 100 - minDarkness;
|
|
99
|
+
const enforce = rgb => {
|
|
100
|
+
const [h, s, l] = rgbToHsl(rgb);
|
|
101
|
+
return l <= maxLightness ? rgb : hslToRgb([h, s, maxLightness]);
|
|
102
|
+
};
|
|
103
|
+
const stop1 = enforce(sorted[0]);
|
|
104
|
+
const stop2 = enforce(sorted.length > 1 ? sorted[1] : sorted[0]);
|
|
105
|
+
return [toRgb(stop1), toRgb(stop2)];
|
|
106
|
+
}
|
|
107
|
+
function deriveLightColor(palette, minLightness) {
|
|
108
|
+
if (!palette.length) {
|
|
109
|
+
return [240, 240, 240];
|
|
110
|
+
}
|
|
111
|
+
let lightest = palette[0];
|
|
112
|
+
let highestL = rgbToHsl(palette[0])[2];
|
|
113
|
+
for (let i = 1; i < palette.length; i++) {
|
|
114
|
+
const l = rgbToHsl(palette[i])[2];
|
|
115
|
+
if (l > highestL) {
|
|
116
|
+
highestL = l;
|
|
117
|
+
lightest = palette[i];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
const [h, s, l] = rgbToHsl(lightest);
|
|
121
|
+
if (l >= minLightness) {
|
|
122
|
+
return lightest;
|
|
123
|
+
}
|
|
124
|
+
return hslToRgb([h, s, minLightness]);
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=colorUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["rgbToHsl","r","g","b","max","Math","min","h","s","l","d","hslToRgb","v","round","hue2rgb","p","q","t","ensureMinLightness","rgb","minL","toRgb","c","deriveDarkColor","palette","minDarkness","length","darkest","lowestL","i","maxLightness","deriveDarkGradient","sorted","sort","a","enforce","stop1","stop2","deriveLightColor","minLightness","lightest","highestL"],"sources":["../../../src/color/colorUtils.ts"],"sourcesContent":["export type RGB = [number, number, number];\n\nexport function rgbToHsl([r, g, b]: RGB): [number, number, number] {\n r /= 255;\n g /= 255;\n b /= 255;\n const max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n let h = 0,\n s = 0;\n const l = (max + min) / 2;\n if (max !== min) {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n if (max === r) {\n h = ((g - b) / d + (g < b ? 6 : 0)) / 6;\n } else if (max === g) {\n h = ((b - r) / d + 2) / 6;\n } else {\n h = ((r - g) / d + 4) / 6;\n }\n }\n return [h * 360, s * 100, l * 100];\n}\n\nexport function hslToRgb([h, s, l]: [number, number, number]): RGB {\n h /= 360;\n s /= 100;\n l /= 100;\n if (s === 0) {\n const v = Math.round(l * 255);\n return [v, v, v];\n }\n const hue2rgb = (p: number, q: number, t: number) => {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n };\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n return [\n Math.round(hue2rgb(p, q, h + 1 / 3) * 255),\n Math.round(hue2rgb(p, q, h) * 255),\n Math.round(hue2rgb(p, q, h - 1 / 3) * 255),\n ];\n}\n\nexport function ensureMinLightness(rgb: RGB, minL: number): RGB {\n const [h, s, l] = rgbToHsl(rgb);\n if (l >= minL) {\n return rgb;\n }\n return hslToRgb([h, s, minL]);\n}\n\nexport function toRgb(c: RGB): string {\n return `rgb(${c[0]}, ${c[1]}, ${c[2]})`;\n}\n\nexport function deriveDarkColor(palette: RGB[], minDarkness: number): RGB {\n if (!palette.length) {\n return [0, 0, 0];\n }\n let darkest = palette[0];\n let lowestL = rgbToHsl(palette[0])[2];\n for (let i = 1; i < palette.length; i++) {\n const l = rgbToHsl(palette[i])[2];\n if (l < lowestL) {\n lowestL = l;\n darkest = palette[i];\n }\n }\n const [h, s, l] = rgbToHsl(darkest);\n const maxLightness = 100 - minDarkness;\n if (l <= maxLightness) {\n return darkest;\n }\n return hslToRgb([h, s, maxLightness]);\n}\n\nexport function deriveDarkGradient(\n palette: RGB[],\n minDarkness: number,\n): [string, string] {\n if (!palette.length) {\n return ['rgb(0, 0, 0)', 'rgb(0, 0, 0)'];\n }\n\n const sorted = [...palette].sort((a, b) => rgbToHsl(a)[2] - rgbToHsl(b)[2]);\n\n const maxLightness = 100 - minDarkness;\n\n const enforce = (rgb: RGB): RGB => {\n const [h, s, l] = rgbToHsl(rgb);\n return l <= maxLightness ? rgb : hslToRgb([h, s, maxLightness]);\n };\n\n const stop1 = enforce(sorted[0]);\n const stop2 = enforce(sorted.length > 1 ? sorted[1] : sorted[0]);\n\n return [toRgb(stop1), toRgb(stop2)];\n}\n\nexport function deriveLightColor(palette: RGB[], minLightness: number): RGB {\n if (!palette.length) {\n return [240, 240, 240];\n }\n let lightest = palette[0];\n let highestL = rgbToHsl(palette[0])[2];\n for (let i = 1; i < palette.length; i++) {\n const l = rgbToHsl(palette[i])[2];\n if (l > highestL) {\n highestL = l;\n lightest = palette[i];\n }\n }\n const [h, s, l] = rgbToHsl(lightest);\n if (l >= minLightness) {\n return lightest;\n }\n return hslToRgb([h, s, minLightness]);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.CalloutSectionDefinition = void 0;
|
|
6
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
var _parseUtils = require("./parse-utils");
|
|
8
|
+
var _parts = require("../../parts/parts");
|
|
9
|
+
class CalloutSectionDefinition {
|
|
10
|
+
constructor() {
|
|
11
|
+
(0, _defineProperty2.default)(this, "sectionType", 'callout');
|
|
12
|
+
(0, _defineProperty2.default)(this, "patterns", ['html_comment? > callout+']);
|
|
13
|
+
(0, _defineProperty2.default)(this, "defaults", {
|
|
14
|
+
callouts: [{
|
|
15
|
+
text: 'This is a callout.'
|
|
16
|
+
}]
|
|
17
|
+
});
|
|
18
|
+
(0, _defineProperty2.default)(this, "fixtures", [{
|
|
19
|
+
markdown: '> This is a callout blockquote.',
|
|
20
|
+
expected: {
|
|
21
|
+
callouts: [{
|
|
22
|
+
text: 'This is a callout blockquote.'
|
|
23
|
+
}]
|
|
24
|
+
}
|
|
25
|
+
}]);
|
|
26
|
+
}
|
|
27
|
+
parse(parts) {
|
|
28
|
+
const callouts = [];
|
|
29
|
+
const relatedLinks = [];
|
|
30
|
+
const seenUrls = new Set();
|
|
31
|
+
const calloutParts = (0, _parts.getPartsByType)(parts, 'callout');
|
|
32
|
+
for (const c of calloutParts) {
|
|
33
|
+
var _c$meta, _c$content;
|
|
34
|
+
const text = ((_c$meta = c.meta) == null || (_c$meta = _c$meta.markdown) == null ? void 0 : _c$meta.trim()) || ((_c$content = c.content) == null ? void 0 : _c$content.trim());
|
|
35
|
+
if (text) {
|
|
36
|
+
const parsed = (0, _parseUtils.parseCalloutTag)(text);
|
|
37
|
+
if (parsed.text) {
|
|
38
|
+
callouts.push({
|
|
39
|
+
text: parsed.text,
|
|
40
|
+
kind: parsed.kind
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Extract links from all parts
|
|
47
|
+
const links = (0, _parts.getLinks)(parts);
|
|
48
|
+
for (const link of links) {
|
|
49
|
+
var _link$meta, _link$content;
|
|
50
|
+
const href = (_link$meta = link.meta) == null ? void 0 : _link$meta.href;
|
|
51
|
+
const text = (_link$content = link.content) == null ? void 0 : _link$content.trim();
|
|
52
|
+
if (text && href && !seenUrls.has(href)) {
|
|
53
|
+
seenUrls.add(href);
|
|
54
|
+
relatedLinks.push({
|
|
55
|
+
text,
|
|
56
|
+
url: href
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
callouts,
|
|
62
|
+
relatedLinks: relatedLinks.length > 0 ? relatedLinks : undefined
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.CalloutSectionDefinition = CalloutSectionDefinition;
|
|
67
|
+
//# sourceMappingURL=CalloutSectionDefinition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_parseUtils","require","_parts","CalloutSectionDefinition","constructor","_defineProperty2","default","callouts","text","markdown","expected","parse","parts","relatedLinks","seenUrls","Set","calloutParts","getPartsByType","c","_c$meta","_c$content","meta","trim","content","parsed","parseCalloutTag","push","kind","links","getLinks","link","_link$meta","_link$content","href","has","add","url","length","undefined","exports"],"sources":["../../../../src/component/componentDefinitions/CalloutSectionDefinition.ts"],"sourcesContent":["import { parseCalloutTag } from './parse-utils';\nimport { getPartsByType, getLinks, type Part } from '../../parts/parts';\nimport type { Callout } from '../../types/callout';\nimport type {\n CalloutCompProps,\n CalloutSectionComponent,\n SectionFixture,\n} from '../types';\nimport type { SectionDefinition } from '../section-definition';\n\nexport class CalloutSectionDefinition\n implements SectionDefinition<CalloutSectionComponent>\n{\n sectionType = 'callout' as const;\n patterns = ['html_comment? > callout+'];\n\n defaults: CalloutCompProps = {\n callouts: [{ text: 'This is a callout.' }],\n };\n\n fixtures: SectionFixture<CalloutCompProps>[] = [\n {\n markdown: '> This is a callout blockquote.',\n expected: {\n callouts: [{ text: 'This is a callout blockquote.' }],\n },\n },\n ];\n\n parse(parts: Part[]): CalloutCompProps {\n const callouts: Callout[] = [];\n const relatedLinks: { text: string; url: string }[] = [];\n const seenUrls = new Set<string>();\n\n const calloutParts = getPartsByType<Part>(parts, 'callout');\n for (const c of calloutParts) {\n const text = (c.meta?.markdown as string)?.trim() || c.content?.trim();\n if (text) {\n const parsed = parseCalloutTag(text);\n if (parsed.text) {\n callouts.push({ text: parsed.text, kind: parsed.kind });\n }\n }\n }\n\n // Extract links from all parts\n const links = getLinks(parts);\n for (const link of links) {\n const href = link.meta?.href;\n const text = link.content?.trim();\n if (text && href && !seenUrls.has(href)) {\n seenUrls.add(href);\n relatedLinks.push({ text, url: href });\n }\n }\n\n return {\n callouts,\n relatedLinks: relatedLinks.length > 0 ? relatedLinks : undefined,\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASO,MAAME,wBAAwB,CAErC;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,uBACgB,SAAS;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBACZ,CAAC,0BAA0B,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAEV;MAC3BC,QAAQ,EAAE,CAAC;QAAEC,IAAI,EAAE;MAAqB,CAAC;IAC3C,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,oBAE8C,CAC7C;MACEG,QAAQ,EAAE,iCAAiC;MAC3CC,QAAQ,EAAE;QACRH,QAAQ,EAAE,CAAC;UAAEC,IAAI,EAAE;QAAgC,CAAC;MACtD;IACF,CAAC,CACF;EAAA;EAEDG,KAAKA,CAACC,KAAa,EAAoB;IACrC,MAAML,QAAmB,GAAG,EAAE;IAC9B,MAAMM,YAA6C,GAAG,EAAE;IACxD,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAS,CAAC;IAElC,MAAMC,YAAY,GAAG,IAAAC,qBAAc,EAAOL,KAAK,EAAE,SAAS,CAAC;IAC3D,KAAK,MAAMM,CAAC,IAAIF,YAAY,EAAE;MAAA,IAAAG,OAAA,EAAAC,UAAA;MAC5B,MAAMZ,IAAI,GAAG,EAAAW,OAAA,GAACD,CAAC,CAACG,IAAI,cAAAF,OAAA,GAANA,OAAA,CAAQV,QAAQ,qBAAjBU,OAAA,CAA8BG,IAAI,CAAC,CAAC,OAAAF,UAAA,GAAIF,CAAC,CAACK,OAAO,qBAATH,UAAA,CAAWE,IAAI,CAAC,CAAC;MACtE,IAAId,IAAI,EAAE;QACR,MAAMgB,MAAM,GAAG,IAAAC,2BAAe,EAACjB,IAAI,CAAC;QACpC,IAAIgB,MAAM,CAAChB,IAAI,EAAE;UACfD,QAAQ,CAACmB,IAAI,CAAC;YAAElB,IAAI,EAAEgB,MAAM,CAAChB,IAAI;YAAEmB,IAAI,EAAEH,MAAM,CAACG;UAAK,CAAC,CAAC;QACzD;MACF;IACF;;IAEA;IACA,MAAMC,KAAK,GAAG,IAAAC,eAAQ,EAACjB,KAAK,CAAC;IAC7B,KAAK,MAAMkB,IAAI,IAAIF,KAAK,EAAE;MAAA,IAAAG,UAAA,EAAAC,aAAA;MACxB,MAAMC,IAAI,IAAAF,UAAA,GAAGD,IAAI,CAACT,IAAI,qBAATU,UAAA,CAAWE,IAAI;MAC5B,MAAMzB,IAAI,IAAAwB,aAAA,GAAGF,IAAI,CAACP,OAAO,qBAAZS,aAAA,CAAcV,IAAI,CAAC,CAAC;MACjC,IAAId,IAAI,IAAIyB,IAAI,IAAI,CAACnB,QAAQ,CAACoB,GAAG,CAACD,IAAI,CAAC,EAAE;QACvCnB,QAAQ,CAACqB,GAAG,CAACF,IAAI,CAAC;QAClBpB,YAAY,CAACa,IAAI,CAAC;UAAElB,IAAI;UAAE4B,GAAG,EAAEH;QAAK,CAAC,CAAC;MACxC;IACF;IAEA,OAAO;MACL1B,QAAQ;MACRM,YAAY,EAAEA,YAAY,CAACwB,MAAM,GAAG,CAAC,GAAGxB,YAAY,GAAGyB;IACzD,CAAC;EACH;AACF;AAACC,OAAA,CAAApC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.ComparisonSectionDefinition = void 0;
|
|
6
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
var _parseUtils = require("./parse-utils");
|
|
8
|
+
var _parts = require("../../parts/parts");
|
|
9
|
+
var _diagnosticTypes = require("../diagnosticTypes");
|
|
10
|
+
class ComparisonSectionDefinition {
|
|
11
|
+
constructor() {
|
|
12
|
+
(0, _defineProperty2.default)(this, "sectionType", 'comparison');
|
|
13
|
+
(0, _defineProperty2.default)(this, "patterns", ['html_comment[section^="comparison"] > (h2 | h3 | h4 | t) > html_comment? > t* > table > (t | link)?']);
|
|
14
|
+
(0, _defineProperty2.default)(this, "defaults", {
|
|
15
|
+
title: 'Comparison',
|
|
16
|
+
columnLabels: ['Option A', 'Option B'],
|
|
17
|
+
rows: [{
|
|
18
|
+
feature: 'Price',
|
|
19
|
+
values: ['$10', '$20']
|
|
20
|
+
}, {
|
|
21
|
+
feature: 'Storage',
|
|
22
|
+
values: ['100GB', '1TB']
|
|
23
|
+
}]
|
|
24
|
+
});
|
|
25
|
+
(0, _defineProperty2.default)(this, "fixtures", [{
|
|
26
|
+
markdown: `<!-- section: comparison -->
|
|
27
|
+
## Compare Plans
|
|
28
|
+
|
|
29
|
+
| Feature | Basic | Pro |
|
|
30
|
+
|---------|-------|-----|
|
|
31
|
+
| Users | 5 | Unlimited |
|
|
32
|
+
| Storage | 100GB | 1TB |`,
|
|
33
|
+
expected: {
|
|
34
|
+
title: 'Compare Plans',
|
|
35
|
+
featureColumnLabel: 'Feature',
|
|
36
|
+
columnLabels: ['Basic', 'Pro'],
|
|
37
|
+
rows: [{
|
|
38
|
+
feature: 'Users',
|
|
39
|
+
values: ['5', 'Unlimited']
|
|
40
|
+
}, {
|
|
41
|
+
feature: 'Storage',
|
|
42
|
+
values: ['100GB', '1TB']
|
|
43
|
+
}]
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
markdown: `<!-- section: comparison -->
|
|
47
|
+
## Platform Comparison
|
|
48
|
+
|
|
49
|
+
See how our platform stacks up against the competition.
|
|
50
|
+
|
|
51
|
+
| Feature | Our Platform | Competitor |
|
|
52
|
+
|---------|--------------|------------|
|
|
53
|
+
| Storage | 1TB | 100GB |
|
|
54
|
+
| Users | Unlimited | 5 |
|
|
55
|
+
| Support | 24/7 Priority | Email Only |
|
|
56
|
+
|
|
57
|
+
[Get started](#signup)`,
|
|
58
|
+
expected: {
|
|
59
|
+
title: 'Platform Comparison',
|
|
60
|
+
description: 'See how our platform stacks up against the competition.',
|
|
61
|
+
featureColumnLabel: 'Feature',
|
|
62
|
+
columnLabels: ['Our Platform', 'Competitor'],
|
|
63
|
+
rows: [{
|
|
64
|
+
feature: 'Storage',
|
|
65
|
+
values: ['1TB', '100GB']
|
|
66
|
+
}, {
|
|
67
|
+
feature: 'Users',
|
|
68
|
+
values: ['Unlimited', '5']
|
|
69
|
+
}, {
|
|
70
|
+
feature: 'Support',
|
|
71
|
+
values: ['24/7 Priority', 'Email Only']
|
|
72
|
+
}],
|
|
73
|
+
ctaText: 'Get started',
|
|
74
|
+
ctaHref: '#signup'
|
|
75
|
+
}
|
|
76
|
+
}]);
|
|
77
|
+
}
|
|
78
|
+
parse(parts, context) {
|
|
79
|
+
var _tableParts$;
|
|
80
|
+
const title = (0, _parseUtils.headingText)(parts, 2) || (0, _parseUtils.headingText)(parts, 3) || (0, _parseUtils.headingText)(parts, 4) || 'Comparison';
|
|
81
|
+
const description = (0, _parseUtils.bodyText)(parts) || undefined;
|
|
82
|
+
|
|
83
|
+
// Table meta from nodesToParts: { columnLabels, featureColumnLabel, rows: { feature, values }[] }
|
|
84
|
+
const tableParts = (0, _parts.getPartsByType)(parts, 'table');
|
|
85
|
+
const tableMeta = (_tableParts$ = tableParts[0]) == null ? void 0 : _tableParts$.meta;
|
|
86
|
+
let columnLabels;
|
|
87
|
+
let columns;
|
|
88
|
+
let featureColumnLabel;
|
|
89
|
+
let rows;
|
|
90
|
+
if ((tableMeta == null ? void 0 : tableMeta.columnLabels) !== undefined) {
|
|
91
|
+
// SDK nodesToParts format
|
|
92
|
+
columnLabels = tableMeta.columnLabels;
|
|
93
|
+
columns = tableMeta.columns;
|
|
94
|
+
featureColumnLabel = tableMeta.featureColumnLabel || undefined;
|
|
95
|
+
rows = (tableMeta.rows ?? []).map(row => ({
|
|
96
|
+
feature: row.feature,
|
|
97
|
+
...(row.iconHint ? {
|
|
98
|
+
iconHint: row.iconHint
|
|
99
|
+
} : {}),
|
|
100
|
+
values: row.values.map(_parseUtils.parseTableValue)
|
|
101
|
+
}));
|
|
102
|
+
} else {
|
|
103
|
+
// Legacy partsConverter format: { headers: string[], rows: string[][] }
|
|
104
|
+
const allHeaders = (tableMeta == null ? void 0 : tableMeta.headers) ?? [];
|
|
105
|
+
const rawRows = (tableMeta == null ? void 0 : tableMeta.rows) ?? [];
|
|
106
|
+
featureColumnLabel = allHeaders[0] || undefined;
|
|
107
|
+
columnLabels = allHeaders.slice(1);
|
|
108
|
+
columns = columnLabels.map(label => ({
|
|
109
|
+
label
|
|
110
|
+
}));
|
|
111
|
+
rows = rawRows.map(row => ({
|
|
112
|
+
feature: row[0] ?? '',
|
|
113
|
+
values: row.slice(1).map(_parseUtils.parseTableValue)
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Extract CTA from link parts
|
|
118
|
+
const link = (0, _parseUtils.firstLink)(parts);
|
|
119
|
+
const ctaText = (link == null ? void 0 : link.text) || undefined;
|
|
120
|
+
const ctaHref = (link == null ? void 0 : link.href) || undefined;
|
|
121
|
+
|
|
122
|
+
// Filter out rows where all values are empty (e.g. trailing non-table text parsed as a row)
|
|
123
|
+
const filteredRows = rows.filter(row => row.values.some(v => v !== ''));
|
|
124
|
+
const droppedCount = rows.length - filteredRows.length;
|
|
125
|
+
if (droppedCount > 0) {
|
|
126
|
+
context == null || context.reportDiagnostic == null || context.reportDiagnostic(_diagnosticTypes.DIAGNOSTIC_TYPES.ITEMS_DROPPED, `comparison: ${droppedCount} row(s) dropped (all values empty)`);
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
title,
|
|
130
|
+
description,
|
|
131
|
+
columnLabels,
|
|
132
|
+
columns,
|
|
133
|
+
rows: filteredRows,
|
|
134
|
+
featureColumnLabel,
|
|
135
|
+
ctaText,
|
|
136
|
+
ctaHref
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.ComparisonSectionDefinition = ComparisonSectionDefinition;
|
|
141
|
+
//# sourceMappingURL=ComparisonSectionDefinition.js.map
|